Edgewall Software

Changes between Version 3 and Version 7 of Ticket #2170


Ignore:
Timestamp:
Oct 5, 2005, 2:45:56 PM (17 years ago)
Author:
Christian Boos
Comment:

Found some relevant discussion about the problem:

Consider a scenario where one process is holding a read lock that it is trying to promote to a reserved lock and a second process is holding a reserved lock that it is trying to promote to an exclusive lock. The first process cannot proceed because it is blocked by the second and the second process cannot proceed because it is blocked by the first. If both processes invoke the busy handlers, neither will make any progress.

  • Karl Mierle had a similar issue back in June with Argon, which he describe there Locking
  • The SQLite author was contacted by the PySQLite author about the former problem, and he replied
    • use EXCLUSIVE transactions, but this reduce the amount of concurrency
    • one of the involved threads must ROLLBACK

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2170 – Description

    v3 v7  
    1 This is somehow reproductible, though I got slightly different stack traces
    2 
    3 each time.
     1This is somehow reproductible, though I got slightly different stack
     2traces each time.
    43But it always bombs in `connection_commit`, though.
    54