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 md...@apache.org on 2012/11/06 16:37:22 UTC
svn commit: r1406185 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
Author: mduerig
Date: Tue Nov 6 15:37:22 2012
New Revision: 1406185
URL: http://svn.apache.org/viewvc?rev=1406185&view=rev
Log:
OAK-421: NodeBuilder.reset might lead to inconsistent builder
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java?rev=1406185&r1=1406184&r2=1406185&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java Tue Nov 6 15:37:22 2012
@@ -209,6 +209,9 @@ public class MemoryNodeBuilder implement
parent.writeState.nodes.put(name, writeState);
}
}
+ } else if (parent != null) {
+ // make sure that all revision numbers up to the root gets updated
+ parent.write(newRevision);
}
revision = newRevision;
return writeState;
@@ -266,7 +269,7 @@ public class MemoryNodeBuilder implement
if (this == root) {
baseState = checkNotNull(newBase);
writeState = new MutableNodeState(baseState);
- revision += 2; // Make sure we are ahead of the revisions of all other builders root at this builder
+ revision++;
} else {
throw new IllegalStateException("Cannot reset a non-root builder");
}