Alexey Goncharuk created IGNITE-11750:
-----------------------------------------

             Summary: Implement locked pages info for long-running B+Tree 
operations
                 Key: IGNITE-11750
                 URL: https://issues.apache.org/jira/browse/IGNITE-11750
             Project: Ignite
          Issue Type: Improvement
            Reporter: Alexey Goncharuk


I've stumbled upon an incident where a batch of Ignite threads were hanging on 
BPlusTree operations trying to acquire read or write lock on pages. From the 
thread dump it is impossible to check if there is an issue with 
{{OffheapReadWriteLock}} or there is a subtle deadlock in the tree.

I suggest we implement a timeout for page lock acquire and tracking of locked 
pages. This should be relatively easy to implement in {{PageHandler}} (the only 
thing to consider is performance degradation). If a timeout occurs, we should 
print all the locks currently owned by a thread. This way we should be able to 
determine if there is a deadlock in the {{BPlusTree}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to