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

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

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.8
    • 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

          There are no Sub-Tasks for this issue.

          Activity

            People

              DmitriyGovorukhin Dmitriy Govorukhin
              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