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

Murtuza Boxwala reassigned GEODE-6637:
--------------------------------------

    Assignee: Murtuza Boxwala

> BucketRegion.allKeysMap hurts partitioned region concurrency
> ------------------------------------------------------------
>
>                 Key: GEODE-6637
>                 URL: https://issues.apache.org/jira/browse/GEODE-6637
>             Project: Geode
>          Issue Type: Improvement
>          Components: core
>            Reporter: Darrel Schneider
>            Assignee: Murtuza Boxwala
>            Priority: Major
>              Labels: performance
>
> The allKeysMap on BucketRegion is a contention point for write operations on 
> partitioned regions. I saw this while running a benchmark that had proxy 
> clients doing partitioned region puts to two servers with redundancy. If I 
> lowered the number of keys in the region, causing all the threads to be 
> trying to update the same key, I saw the "allKeysMap" become even more of a 
> contention point. A replicate region did much better when updating the same 
> key.
> The allKeysMap was added for the bulk ops (putAll and removeAll) but all 
> write ops end up synchronizing on it to both find an existing lock, add one 
> if no lock exists, and to release the lock.
> Note that even if allKeysMap could be made a concurrent structure, it 
> currently contains instances of LockObject which every pr write object locks 
> and other threads on the same key have to wait on.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to