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 mr...@apache.org on 2019/09/23 11:18:00 UTC
svn commit: r1867374 - in /jackrabbit/oak/trunk/oak-store-document/src:
main/java/org/apache/jackrabbit/oak/plugins/document/
main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/
test/java/org/apache/jackrabbit/oak/plugins/document/ test/java/...
Author: mreutegg
Date: Mon Sep 23 11:18:00 2019
New Revision: 1867374
URL: http://svn.apache.org/viewvc?rev=1867374&view=rev
Log:
OAK-8629: Node bundling exposes hidden properties
Apply patch with fix and enable tests
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitDiffTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java
Modified: jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java?rev=1867374&r1=1867373&r2=1867374&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java Mon Sep 23 11:18:00 2019
@@ -112,7 +112,6 @@ class CommitDiff implements NodeStateDif
if (child.isBundlingRoot()) {
commit.removeNode(child.getRootBundlePath(), before);
}
- setOrTouchChildrenFlag(child);
return MISSING_NODE.compareAgainstBaseState(before,
new CommitDiff(commit, child, builder, blobs));
}
Modified: jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java?rev=1867374&r1=1867373&r2=1867374&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java Mon Sep 23 11:18:00 2019
@@ -28,6 +28,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.state.NodeState;
import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.META_PROP_NAMES;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
import static org.apache.jackrabbit.oak.plugins.memory.PropertyStates.createProperty;
@@ -177,14 +178,9 @@ public class BundlingHandler {
}
private static void removeDeletedChildProperties(NodeState state, BundlingContext childContext) {
- childContext.removeProperty(DocumentBundlor.META_PROP_BUNDLING_PATH);
+ removeBundlingMetaProps(state, childContext);
for (PropertyState ps : state.getProperties()){
- String propName = ps.getName();
- //In deletion never touch child status related meta props
- //as they are not to be changed once set
- if (!propName.startsWith(DocumentBundlor.HAS_CHILD_PROP_PREFIX)) {
- childContext.removeProperty(ps.getName());
- }
+ childContext.removeProperty(ps.getName());
}
}
@@ -192,9 +188,10 @@ public class BundlingHandler {
//Explicitly remove meta prop related to bundling as it would not
//be part of normal listing of properties and hence would not be deleted
//as part of diff
- PropertyState bundlorConfig = state.getProperty(DocumentBundlor.META_PROP_PATTERN);
- if (bundlorConfig != null){
- childContext.removeProperty(DocumentBundlor.META_PROP_PATTERN);
+ for (String name : META_PROP_NAMES) {
+ if (state.hasProperty(name)) {
+ childContext.removeProperty(name);
+ }
}
}
Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitDiffTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitDiffTest.java?rev=1867374&r1=1867373&r2=1867374&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitDiffTest.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitDiffTest.java Mon Sep 23 11:18:00 2019
@@ -27,7 +27,6 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
@@ -107,7 +106,6 @@ public class CommitDiffTest {
assertThat(changes, hasKey(new Key(JCR_CONTENT + "/" + META_PROP_BUNDLING_PATH, r)));
}
- @Ignore("OAK-8629")
@Test
public void removeBundledNodeWithRoot() throws Exception {
addTestFile();
@@ -133,7 +131,6 @@ public class CommitDiffTest {
assertThat(changes, hasKey(new Key(JCR_CONTENT + "/" + META_PROP_BUNDLING_PATH, r)));
}
- @Ignore("OAK-8629")
@Test
public void removeBundledNode() throws Exception {
addTestFile();
@@ -195,6 +192,5 @@ public class CommitDiffTest {
content.setProperty(JCR_PRIMARYTYPE, "nt:resource", Type.NAME);
content.setProperty(JCR_DATA, "test");
return builder.getNodeState();
-
}
}
Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java?rev=1867374&r1=1867373&r2=1867374&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java Mon Sep 23 11:18:00 2019
@@ -64,7 +64,6 @@ import org.h2.mvstore.WriteBuffer;
import org.jetbrains.annotations.NotNull;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
@@ -830,7 +829,6 @@ public class DocumentBundlingTest {
merge(builder);
}
- @Ignore("OAK-8629")
@Test
public void deleteAndRecreateAsNonBundledNode() throws Exception {
NodeBuilder builder = store.getRoot().builder();