You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2016/01/19 14:35:04 UTC
svn commit: r1725515 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/locks/StripedNodeDocumentLocks.java
Author: reschke
Date: Tue Jan 19 13:35:04 2016
New Revision: 1725515
URL: http://svn.apache.org/viewvc?rev=1725515&view=rev
Log:
OAK-3892: RDBDocumentStore: StripedNodeDocumentLocks - special case root
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/locks/StripedNodeDocumentLocks.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/locks/StripedNodeDocumentLocks.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/locks/StripedNodeDocumentLocks.java?rev=1725515&r1=1725514&r2=1725515&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/locks/StripedNodeDocumentLocks.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/locks/StripedNodeDocumentLocks.java Tue Jan 19 13:35:04 2016
@@ -26,10 +26,11 @@ public class StripedNodeDocumentLocks im
* Locks to ensure cache consistency on reads, writes and invalidation.
*/
private final Striped<Lock> locks = Striped.lock(4096);
+ private final Lock rootLock = Striped.lock(1).get("0:/");
@Override
public Lock acquire(String key) {
- Lock lock = locks.get(key);
+ Lock lock = "0:/".equals(key) ? rootLock : locks.get(key);
lock.lock();
return lock;
}