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

Knut Anders Hatlen updated DERBY-2327:
--------------------------------------

    Attachment: derby-2327-1a.stat
                derby-2327-1a.diff

To make it easier to plug in another LockSet implementation, LockSet should be 
better encapsulated. I'm attaching a patch (derby-2327-1a) which makes these 
changes:
  - creates a new interface (LockTable) which LockSet implements
  - replaces all references to LockSet with references to the new LockTable 
interface
  - moves code that explicitly synchronizes on the LockSet object from 
LockSpace.unlockReference() and SinglePool.zeroDurationlockObject() to LockSet 
so that the granularity of the synchronization can be controlled by the LockSet 
implementation alone
  - adds setter methods for deadlock timeout and wait timeout

Derbyall and suites.All passed on Solaris 10, Java SE 6.

> Reduce monitor contention in LockSet
> ------------------------------------
>
>                 Key: DERBY-2327
>                 URL: https://issues.apache.org/jira/browse/DERBY-2327
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Performance, Services
>    Affects Versions: 10.3.0.0
>            Reporter: Knut Anders Hatlen
>         Assigned To: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: ConcurrentHashMap.diff, derby-2327-1a.diff, 
> derby-2327-1a.stat
>
>
> When multiple threads enter the lock manager, only one can access the hash 
> table in LockSet. To improve scalability on multiple CPUs, it should be 
> possible to have more than one thread accessing the lock table at the same 
> time.

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

Reply via email to