[exo-jcr-commits] exo-jcr SVN: r2749 - jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Jul 7 02:50:20 EDT 2010


Author: tolusha
Date: 2010-07-07 02:50:20 -0400 (Wed, 07 Jul 2010)
New Revision: 2749

Modified:
   jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/LinkedWorkspaceStorageCacheImpl.java
Log:
EXOJCR-840: avoid java.util.ConcurrentModificationException in LinkedWorkspaceStorageCacheImpl.onSaveItems()

Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/LinkedWorkspaceStorageCacheImpl.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/LinkedWorkspaceStorageCacheImpl.java	2010-07-07 06:49:46 UTC (rev 2748)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/LinkedWorkspaceStorageCacheImpl.java	2010-07-07 06:50:20 UTC (rev 2749)
@@ -1783,12 +1783,12 @@
                   // delete parent
                   remove(parent);
 
-                  // delete parent containing child nodes list
-                  nodesCache.remove(parent.getParentIdentifier());
-
                   writeLock.lock();
                   try
                   {
+                     // delete parent containing child nodes list
+                     nodesCache.remove(parent.getParentIdentifier());
+
                      // traverse itemCache
                      Iterator<CacheValue> cacheIterator = cache.values().iterator();
                      while (cacheIterator.hasNext())



More information about the exo-jcr-commits mailing list