Derby
  1. Derby
  2. DERBY-1704

Allow more concurrency in the lock manager

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 10.2.1.6
    • Fix Version/s: 10.3.1.4
    • Component/s: Services
    • Labels:
      None
    • Urgency:
      Normal
    • Bug behavior facts:
      Performance

      Description

      I have seen indications of severe monitor contention in SinglePool
      (the current lock manager) when multiple threads access a Derby
      database concurrently. When a thread wants to lock an object, it needs
      to obtain the monitor for both SinglePool and LockSet (both of them
      are global synchronization points). This leads to poor scalability.

      We should investigate how to allow more concurrency in the lock
      manager, and either extend SinglePool or implement a new manager.

      1. 1cpu.png
        3 kB
        Knut Anders Hatlen
      2. 2cpu.png
        4 kB
        Knut Anders Hatlen
      3. 8cpu.png
        3 kB
        Knut Anders Hatlen
      4. split-hashtables.diff
        12 kB
        Knut Anders Hatlen
      5. split-hashtables.stat
        0.3 kB
        Knut Anders Hatlen
      6. cleanup1.diff
        7 kB
        Knut Anders Hatlen
      7. cleanup1.stat
        0.3 kB
        Knut Anders Hatlen
      8. cleanup1.v2.diff
        8 kB
        Knut Anders Hatlen
      9. cleanup2.diff
        2 kB
        Knut Anders Hatlen
      10. cleanup3.diff
        6 kB
        Knut Anders Hatlen
      11. cleanup3.stat
        0.2 kB
        Knut Anders Hatlen
      12. cleanup4.diff
        0.6 kB
        Knut Anders Hatlen
      13. cleanup5.diff
        5 kB
        Knut Anders Hatlen
      14. cleanup5.stat
        0.2 kB
        Knut Anders Hatlen
      15. cleanup6.diff
        2 kB
        Knut Anders Hatlen
      There are no Sub-Tasks for this issue.

        Activity

        Knut Anders Hatlen created issue -
        Knut Anders Hatlen made changes -
        Field Original Value New Value
        Attachment 1cpu.png [ 12338951 ]
        Attachment 8cpu.png [ 12338953 ]
        Attachment 2cpu.png [ 12338952 ]
        Knut Anders Hatlen made changes -
        Attachment split-hashtables.diff [ 12338954 ]
        Attachment split-hashtables.stat [ 12338955 ]
        Knut Anders Hatlen made changes -
        Assignee Knut Anders Hatlen [ knutanders ]
        Knut Anders Hatlen made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Knut Anders Hatlen made changes -
        Attachment cleanup1.stat [ 12349258 ]
        Attachment cleanup1.diff [ 12349257 ]
        Knut Anders Hatlen made changes -
        Derby Info [Patch Available]
        Knut Anders Hatlen made changes -
        Attachment cleanup1.v2.diff [ 12349376 ]
        Knut Anders Hatlen made changes -
        Derby Info [Patch Available]
        Knut Anders Hatlen made changes -
        Attachment cleanup2.diff [ 12349498 ]
        Knut Anders Hatlen made changes -
        Attachment cleanup3.stat [ 12351012 ]
        Attachment cleanup3.diff [ 12351011 ]
        Knut Anders Hatlen made changes -
        Derby Info [Patch Available]
        Knut Anders Hatlen made changes -
        Derby Info [Patch Available]
        Knut Anders Hatlen made changes -
        Attachment cleanup4.diff [ 12353090 ]
        Knut Anders Hatlen made changes -
        Attachment cleanup5.diff [ 12353192 ]
        Attachment cleanup5.stat [ 12353193 ]
        Knut Anders Hatlen made changes -
        Attachment cleanup6.diff [ 12353201 ]
        Knut Anders Hatlen made changes -
        Resolution Fixed [ 1 ]
        Fix Version/s 10.3.0.0 [ 12310800 ]
        Status In Progress [ 3 ] Closed [ 6 ]
        Dag H. Wanvik made changes -
        Component/s Performance [ 11709 ]
        Dag H. Wanvik made changes -
        Derby Categories [Performance]
        Gavin made changes -
        Workflow jira [ 12381834 ] Default workflow, editable Closed status [ 12798439 ]

          People

          • Assignee:
            Knut Anders Hatlen
            Reporter:
            Knut Anders Hatlen
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development