[ 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)