mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Matthew Swift
29.57.2016 97cafe6c9cfa077690c61c22ee3fdc8d4501d150
refs
author Matthew Swift <matthew.swift@forgerock.com>
Friday, January 29, 2016 14:57 +0100
committer Matthew Swift <matthew.swift@forgerock.com>
Tuesday, March 15, 2016 09:56 +0100
commit97cafe6c9cfa077690c61c22ee3fdc8d4501d150
tree 15fb5a2c1088f9e7d2315471e0126e11ec1fdacd tree | zip | gz
parent a125c219656dc8f9a55078bcd4ef2104fe0d8420 view | diff
OPENDJ-2709 Reduce lock contention in SubentryManager for modify/delete requests

For modify operations return immediately if the operation does not
target a sub-entry (lock-free). For delete operations return immediately
if the targeted entry is not a sub-tree containing sub-entries (requires
shared lock). This change improves modify throughput by over 50% against
an in-memory backend.

In DITCacheMap: make DITSubtreeSet.isEmpty() O(1) instead of O(N).
2 files modified
27 ■■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/server/api/DITCacheMap.java 6 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/core/SubentryManager.java 21 ●●●●● diff | view | raw | blame | history