Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
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.
Attachments
Issue Links
- relates to
-
IGNITE-11899 Fix code style violation
- Resolved
- links to