Attaching a shorted reproducer, using only SqlAlchemy.

for py in 3.12.3 3.13.7 3.14.4 3.14.5; do (echo "Testing with $py" && uv run 
--no-project -p $py sqlalchemy_lazy_query_reproducer.py); done
Testing with 3.12.3
Installed 3 packages in 6ms
3.12.3 (main, Apr 15 2024, 18:25:56) [Clang 17.0.6 ]
gc thresholds: (700, 10, 10)
01 rows=['enabled'] Pool size: 1  Connections in pool: 0 Current Overflow: 0 
Current Checked out connections: 1
02 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
03 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
04 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
05 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
06 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
07 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
08 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
09 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
PASS
Testing with 3.13.7
Installed 3 packages in 7ms
3.13.7 (main, Sep 18 2025, 19:47:49) [Clang 20.1.4 ]
gc thresholds: (2000, 10, 10)
01 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
02 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
03 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
04 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
05 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
06 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
07 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
08 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
09 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
PASS
Testing with 3.14.4
Installed 3 packages in 7ms
3.14.4 (main, Apr  8 2026, 04:02:31) [GCC 15.2.0]
gc thresholds: (2000, 10, 0)
01 rows=['enabled'] Pool size: 1  Connections in pool: 0 Current Overflow: 0 
Current Checked out connections: 1
02 rows=['enabled'] Pool size: 1  Connections in pool: 0 Current Overflow: 1 
Current Checked out connections: 2
03 rows=['enabled'] Pool size: 1  Connections in pool: 0 Current Overflow: 2 
Current Checked out connections: 3
04 rows=['enabled'] Pool size: 1  Connections in pool: 0 Current Overflow: 3 
Current Checked out connections: 4
05 rows=['enabled'] Pool size: 1  Connections in pool: 0 Current Overflow: 4 
Current Checked out connections: 5
06 rows=['enabled'] Pool size: 1  Connections in pool: 0 Current Overflow: 5 
Current Checked out connections: 6
FAIL iteration=7: QueuePool limit of size 1 overflow 5 reached, connection 
timed out, timeout 0.20 (Background on this error at: 
https://sqlalche.me/e/20/3o7r)
Testing with 3.14.5
Installed 3 packages in 7ms
3.14.5 (main, May 10 2026, 19:28:16) [Clang 22.1.3 ]
gc thresholds: (2000, 10, 10)
01 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
02 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
03 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
04 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
05 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
06 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
07 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
08 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
09 rows=['enabled'] Pool size: 1  Connections in pool: 1 Current Overflow: 0 
Current Checked out connections: 0
PASS

** Attachment added: "sqlalchemy_lazy_query_reproducer.py"
   
https://bugs.launchpad.net/ubuntu/+source/python3.14/+bug/2154897/+attachment/5975022/+files/sqlalchemy_lazy_query_reproducer.py

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2154897

Title:
  Keystone leaks DB connections when uncached federation service
  providers are queried

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/2154897/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to