Hello Kristian,
I am working on a replacement algorithm for the retry all lock_requests function. Still in development. The race is that some locks are released while some other thread is running the lock retry code. These locks are not retried, so a blocked lock request is not handed the lock and it times out.
Back in the day, we were thinking of attaching the pending lock requests to the conflicting locks so that when the conflicting locks are released, it is easy to find the pending lock requests. This change is beyond the scope of my current work.
Need to run some replication benchmarks that compare conservative vs optimistic replication performance. This might lead to some interesting results.