Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-11750

Implement locked pages info dump for long-running B+Tree operations

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.8
    • Component/s: None
    • Labels:
      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

            Activity

              People

              • Assignee:
                DmitriyGovorukhin Dmitriy Govorukhin
                Reporter:
                agoncharuk Alexey Goncharuk
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 10m
                  1h 10m