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