rusackas commented on code in PR #42803:
URL: https://github.com/apache/superset/pull/42803#discussion_r3738394263
##########
superset/utils/core.py:
##########
@@ -815,6 +815,7 @@ def ping_connection(connection: Connection, branch: bool)
-> None:
# the SELECT of a scalar value without a table is
# appropriately formatted for the backend
connection.scalar(select(1))
+ connection.rollback() # pylint: disable=consider-using-transaction
Review Comment:
Yes — see the commit message on a7d9bdebd53: under 2.0's autobegin, the
health-check SELECT opens a transaction it never used to, and that lingering
transaction is what produced the lock-wait-timeout /
can't-open-second-transaction symptom during init. rollback() closes it back
out after the ping.
##########
tests/integration_tests/superset_test_config.py:
##########
@@ -58,6 +59,23 @@
"SQLite Database support for metadata databases will be "
"removed in a future version of Superset."
)
+ # SQLAlchemy 2.0 changed the default poolclass for file-based SQLite
Review Comment:
Production doesn't need a matching change because it doesn't hit this: the
pool-reuse issue only bites `check_same_thread=true` URIs (what the test suite
uses), and Superset's non-test default is `check_same_thread=false`, which was
already safe under QueuePool. Can't speak to a hard removal date for SQLite
support beyond the existing deprecation warning.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]