db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-1704) Allow more concurrency in the lock manager
Date Tue, 13 Mar 2007 13:39:09 GMT

     [ https://issues.apache.org/jira/browse/DERBY-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Knut Anders Hatlen updated DERBY-1704:

    Attachment: cleanup5.stat

cleanup5.diff contains these changes:

ActiveLock.java: removed some unused imports
Lock.java: made the class package private
  - made the class final and package private
  - addLock() had an if which tested (!grantLock && ...) at a place where grantLock
always would be false. Removed the !grantLock part of the condition.
  - addWaiter(), removeWaiter() and popFrontWaiter() took a List argument called waiting.
Since the argument always was identical to a private member with the same name, I removed
"List waiting" from the parameter list.

Derbyall and the JUnit tests ran successfully.

> Allow more concurrency in the lock manager
> ------------------------------------------
>                 Key: DERBY-1704
>                 URL: https://issues.apache.org/jira/browse/DERBY-1704
>             Project: Derby
>          Issue Type: Improvement
>          Components: Performance, Services
>    Affects Versions:
>            Reporter: Knut Anders Hatlen
>         Assigned To: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: 1cpu.png, 2cpu.png, 8cpu.png, cleanup1.diff, cleanup1.stat, cleanup1.v2.diff,
cleanup2.diff, cleanup3.diff, cleanup3.stat, cleanup4.diff, cleanup5.diff, cleanup5.stat,
split-hashtables.diff, split-hashtables.stat
> 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.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message