0
I Use This!
Very Low Activity

Commits : Listings

Analyzed about 18 hours ago. based on code collected about 18 hours ago.
Feb 27, 2025 — Feb 27, 2026
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
Update tests to handle killed threads a bit better. Still problems, though. More... over 13 years ago
Add an attribute the the thread that indicates that it has been killed. More... over 13 years ago
Move the killing of the stuck thread out of the locked section. More... over 13 years ago
Added some additional error handling and logging to the tests. Also added a loop on the max_wait_timeout test. It now fairly reliably reproduces the strange deadlock with the DatabaseLockTooLong exception being raised in the release_lock() method. More... over 13 years ago
Removed thread_busy dictionary - instead the first element in the queue is the currently held lock. Also, removed the exception handling in the release method. (It was valid code, but I'm trying to understand how it can happen.) More... over 13 years ago
Adding constants for indexes of busy_op. More... over 13 years ago
If there's a queue when we try to get the lock, but nobody's busy, be a good citizen and join the queue Never call release_db_lock while already having database_write_lock - this causes deadlocks Make sure we shouldn't be interrupted before preventing an interruption More... over 13 years ago
notifyAll must happen when we have the lock More... over 13 years ago
After emptying the queue on the second thread, we should notifyAll to make sure we don't sit forever More... over 13 years ago
Add a test which checks that, if there are actions in the queue but nothing is busy, a get_db_lock adds itself to the queue This currently fails More... over 13 years ago
Add a queue which makes sure the next operation to get the database lock is the longest waiting Wake all threads so they can check if they are the next in queue before continuing More... over 13 years ago
Instead of raising RuntimeError, raise a custom exception of our own More... over 13 years ago
Fix for busy_op being None in release_db_lock More... over 13 years ago
Write a test which tests competing timeouts do not kill each other More... over 13 years ago
Only email if we can find something which implements the interface Attempt to make the release_db_lock method atmoic in the face of injected RuntimeErrors More... over 13 years ago
Add test for interrupting a thread during execution This showed a potential issue if a thread was interrupted while in the process of letting go of the DatabaseWriteLock - tricky stuff More... over 13 years ago
Add test for error log when getting the database write lock on a SLAVE More... over 13 years ago
Instrument logging in the DatabaseWriteLock method so we can test when things are logged Add a test for the warning timeout More... over 13 years ago
Started unit tests for DatabaseWriteLock More... over 13 years ago
Add a decorator which explicitly sets requires_database_lock to True The idea is to decorate all functions we know require the database lock, and then log warnings when something has nothing set More... over 13 years ago
Changes does_database_writes to requires_database_lock - much more sensible More... over 13 years ago
You don't cleanup the server resource, as it's a pretend resource which just gives you a global object More... over 13 years ago
Log an error if a SLAVE process tries to get the database write lock More... over 13 years ago
Add try/excepts around traceback generation Send email outside the database_write_lock More... over 13 years ago
After we timeout on the warning, reset check_start_time so we actually wait until we cycle over this again, and don't just spin with zero wait forever More... over 13 years ago
Make timeout_warned the 4th element in busy_op so we can check per running action, not per contesting lock More... over 13 years ago
last_trace_back is already a list - fix use More... over 13 years ago
Add sending an email when we try to kill a blocking thread, with traceback More... over 13 years ago
Add a warning timeout, and extend the exception timeout, for the database lock More... over 13 years ago
Add a try/except around thread_async_raise, as this can raise an exception More... over 13 years ago