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 dp...@apache.org on 2012/04/27 10:24:59 UTC
svn commit: r1331293 -
/jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/store/DefaultRevisionStore.java
Author: dpfister
Date: Fri Apr 27 08:24:58 2012
New Revision: 1331293
URL: http://svn.apache.org/viewvc?rev=1331293&view=rev
Log:
GC for revisions
- Copy tokens to prevent ConcurrentModificationException
Modified:
jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/store/DefaultRevisionStore.java
Modified: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/store/DefaultRevisionStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/store/DefaultRevisionStore.java?rev=1331293&r1=1331292&r2=1331293&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/store/DefaultRevisionStore.java (original)
+++ jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/store/DefaultRevisionStore.java Fri Apr 27 08:24:58 2012
@@ -295,7 +295,6 @@ public class DefaultRevisionStore extend
if (branchRootId != null) {
branches.remove(branchRootId);
}
-
return id;
}
@@ -304,7 +303,7 @@ public class DefaultRevisionStore extend
Id commitId = writeCommit(token, commit);
putTokens.remove(token);
-
+
Id branchRootId = commit.getBranchRootId();
if (branchRootId != null) {
branches.put(branchRootId, commitId);
@@ -530,7 +529,8 @@ public class DefaultRevisionStore extend
gcpm.start();
gcState.set(MARKING);
- for (PutTokenImpl token : putTokens.keySet()) {
+ PutTokenImpl[] putTokens = this.putTokens.keySet().toArray(new PutTokenImpl[0]);
+ for (PutTokenImpl token : putTokens) {
markNode(token.getLastModified());
}
} finally {