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]

Reply via email to