-
Notifications
You must be signed in to change notification settings - Fork 543
Open
Labels
bugstatus-triage_doneInitial triage done, will be further handled by the driver teamInitial triage done, will be further handled by the driver team
Description
While developing https://github.com/Snowflake-Labs/django-snowflake and after fixing #2725, a Django test reveals that SessionManager.__init__() leaks memory due to defaultdict usage for the SessionManager._sessions_map:
======================================================================
FAIL: test_select_related_memory_leak (select_related.tests.SelectRelatedTests.test_select_related_memory_leak)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tim/code/django/tests/select_related/tests.py", line 149, in test_select_related_memory_leak
self.assert_no_memory_leaks()
File "/home/tim/code/django/tests/select_related/tests.py", line 73, in assert_no_memory_leaks
self.assertEqual(gc.garbage, [])
AssertionError: Lists differ: [<snowflake.connector.session_manager.Sess[330 chars] {})] != []
First list contains 5 additional elements.
First extra element 0:
<snowflake.connector.session_manager.SessionManager object at 0x7bb6daff8dd0>
+ []
- [<snowflake.connector.session_manager.SessionManager object at 0x7bb6daff8dd0>,
- <cell at 0x7bb6daffb6a0: SessionManager object at 0x7bb6daff8dd0>,
- (<cell at 0x7bb6daffb6a0: SessionManager object at 0x7bb6daff8dd0>,),
- <function SessionManager.__init__.<locals>.<lambda> at 0x7bb6dad16160>,
- defaultdict(<function SessionManager.__init__.<locals>.<lambda> at 0x7bb6dad16160>, {})]
I'm not sure how to fix this offhand.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugstatus-triage_doneInitial triage done, will be further handled by the driver teamInitial triage done, will be further handled by the driver team