Repository navigation
Fix bug in locking mechanism - #9669
Conversation
|
There is an unrelated problem in how I try to run different dbm backends that I have not yet tracked down. It's going to be ugly because I end up having to use monkeypatching to enforce use of a particular backend. There must be a better way. |
1b7d3c9 to
a87a1fb
Compare
|
Ready for review |
|
Depending on whether this or #9703 gets merged first, the other will need a rebase to rerun the CI before merge, just in case. |
|
This patch actually includes test cases to evaluate what happens when the cache lock cannot be obtained, so you should be able to test it just by running the test suite. There is one design decision I made here that one could argue with: if the cache lock cannot be obtained, raise an exception and stop. The other design option would be to proceed as if no cache were available. I chose the former because I thought it would be much easier to tell what was going on, and because the failure mode of hammering the server from all your parallel threads is not a good one. |
pllim
left a comment
There was a problem hiding this comment.
I'll trust the CI results. Thanks!
Should fix #9642
Description
This pull request is to address a bug where if the cache lock could not be acquired the failure path would incorrectly release the lock.
Fixes #9642