Message18863
Logged In: YES
user_id=413
A fix for my first comment about the memory leak has been committed that uses weak references and callbacks so that DBCursor objects are always destroyed and their references removed from _DBWithCursor's pool when the iterator that created them is destroyed.
The potential threading deadlock issues still stand. Lockng seems like it could have a serious performance impact by surrounding way too many database operations (all cursor operations, iterator use and __delitem__, __setitem__ and close) with locks.
what should be done:
_DBWithCursor __delitem__, __setitem__ and close methods need to prevent any cursors from being created until they have completed. But for performance reasons multiple database read operations should be allowed at the same time (get, cursor methods or iterators). |
|
Date |
User |
Action |
Args |
2007-08-23 14:18:04 | admin | link | issue834461 messages |
2007-08-23 14:18:04 | admin | create | |
|