You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
on CI we are getting SQLite DB is locked due to test_dupe_col_obj which is doing connectionless execution, and due to some GC timing changes that seem to be a result of #4849, it's revealing the cursor and connection are not getting actively closed after the failure. the handle_dbapi_exception in Connection._execute_context() needs to be moved down to include the whole block.
The text was updated successfully, but these errors were encountered:
zzzeek
added
bug
Something isn't working
engine
engines, connections, transactions, isolation levels, execution options
labels
Mar 4, 2020
Observing a SQLite connection/cursor being hung on
test_resultset -> PositionalTextTest -> test_dupe_col_obj.
this uses connectionless execution and the result object
fails to be constructed. When that happens, there is no path
for the cursor or connection to be closed / released.
Recent changes with the exception assertions in #4849 seem to
be causing a cycle to last a little longer than usual which
is exposing this issue for one particular test on SQLite.
As we want to get rid of weakref cleanup, evaluate
why we dont have handle_dbapi_exception for this whole
block, as after_cursor_execute can raise, result construction
can raise, autocommit can raise, close can raise, there
does not seem to be a reason these things should be outside
of the block that gets cleaned up.
Fixes: #5182
Change-Id: I640ac55e8c5f39d287f779fbb5dc0ab727218ca3
(cherry picked from commit 4cd33f18a21d9e33b37ef7163822c327453d1e62)
on CI we are getting SQLite DB is locked due to test_dupe_col_obj which is doing connectionless execution, and due to some GC timing changes that seem to be a result of #4849, it's revealing the cursor and connection are not getting actively closed after the failure. the handle_dbapi_exception in Connection._execute_context() needs to be moved down to include the whole block.
The text was updated successfully, but these errors were encountered: