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;
     }


Reply via email to