As notedin #3716:
In SQLAlchemy 2.0 engine.connect() uses autobegin but NOT autocommit. Every call to update_issue_closed_cntrbs_by_repo_id was rolling back at context-manager exit, leaving cntrb_id stale. Switching to engine.begin() makes the transaction commit on success and roll back only on exception, which is the correct behavior.
We should audit all of our engine.connect() calls and slowly replace them with engine.begin() on a one-by one basis. (one PR per replacement so it can be evaluated, especially for newcomers.
As notedin #3716:
We should audit all of our
engine.connect()calls and slowly replace them withengine.begin()on a one-by one basis. (one PR per replacement so it can be evaluated, especially for newcomers.