You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by un...@apache.org on 2014/12/15 18:12:27 UTC

svn commit: r1643091 - /jackrabbit/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/LocalCache.java

Author: unico
Date: Wed Dec  3 10:56:14 2014
New Revision: 1643091

URL: http://svn.apache.org/r1643091
Log:
JCR-3833 LinkedHashMap#entrySet#iterator#remove no longer calls LinkedHashMap#remove, however LocalCache relies on that when it overrides the #remove method.
Note that this issue did not turn up during running the tests because TestLocalCache#testAutoPurge is disabled due to JCR-3806...

Modified:
    jackrabbit/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/LocalCache.java

Modified: jackrabbit/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/LocalCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/LocalCache.java?rev=1643091&r1=1643090&r2=1643091&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/LocalCache.java (original)
+++ jackrabbit/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/LocalCache.java Wed Dec  3 10:56:14 2014
@@ -572,7 +572,8 @@ public class LocalCache {
                         Map.Entry<String, Long> entry = itr.next();
                         if (entry.getKey() != null) {
                             if (cache.currentSizeInBytes > cache.cachePurgeResize) {
-                                itr.remove();
+                                cache.remove(entry.getKey());
+                                itr = cache.entrySet().iterator();
                             } else {
                                 break;
                             }