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 th...@apache.org on 2020/08/28 06:55:52 UTC
svn commit: r1881270 -
/jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java
Author: thomasm
Date: Fri Aug 28 06:55:52 2020
New Revision: 1881270
URL: http://svn.apache.org/viewvc?rev=1881270&view=rev
Log:
OAK-9173 Oak-run indexing fails with 'This map is closed' (fix test case)
Modified:
jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java
Modified: jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java?rev=1881270&r1=1881269&r2=1881270&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java Fri Aug 28 06:55:52 2020
@@ -62,37 +62,38 @@ public class FlatFileStoreIteratorTest {
CountingIterable<NodeStateEntry> citr = createList(preferred, asList("/a", "/a/jcr:content", "/a/jcr:content/metadata",
"/a/d", "/e", "/e/e"));
- FlatFileStoreIterator fitr = newFlatFileStore(citr.iterator(), preferred);
- NodeStateEntry a = fitr.next();
- assertEquals("/a", a.getPath());
+ try (FlatFileStoreIterator fitr = newFlatFileStore(citr.iterator(), preferred)) {
+ NodeStateEntry a = fitr.next();
+ assertEquals("/a", a.getPath());
- NodeState ns1 = a.getNodeState().getChildNode("jcr:content");
- assertEquals("/a/jcr:content", ns1.getString("path"));
- assertEquals(1, fitr.getBufferSize());
+ NodeState ns1 = a.getNodeState().getChildNode("jcr:content");
+ assertEquals("/a/jcr:content", ns1.getString("path"));
+ assertEquals(1, fitr.getBufferSize());
- NodeState ns2 = ns1.getChildNode("metadata");
- assertEquals("/a/jcr:content/metadata", ns2.getString("path"));
- assertEquals(2, fitr.getBufferSize());
+ NodeState ns2 = ns1.getChildNode("metadata");
+ assertEquals("/a/jcr:content/metadata", ns2.getString("path"));
+ assertEquals(2, fitr.getBufferSize());
- NodeStateEntry nse1 = fitr.next();
- assertEquals("/a/jcr:content", nse1.getPath());
+ NodeStateEntry nse1 = fitr.next();
+ assertEquals("/a/jcr:content", nse1.getPath());
- NodeStateEntry nse2 = fitr.next();
- assertEquals("/a/jcr:content/metadata", nse2.getPath());
+ NodeStateEntry nse2 = fitr.next();
+ assertEquals("/a/jcr:content/metadata", nse2.getPath());
- NodeStateEntry nse3 = fitr.next();
- assertEquals("/a/d", nse3.getPath());
- assertEquals(0, nse3.getNodeState().getChildNodeCount(100));
+ NodeStateEntry nse3 = fitr.next();
+ assertEquals("/a/d", nse3.getPath());
+ assertEquals(0, nse3.getNodeState().getChildNodeCount(100));
- NodeStateEntry nse4 = fitr.next();
- assertEquals("/e", nse4.getPath());
- assertEquals(1, nse4.getNodeState().getChildNodeCount(100));
+ NodeStateEntry nse4 = fitr.next();
+ assertEquals("/e", nse4.getPath());
+ assertEquals(1, nse4.getNodeState().getChildNodeCount(100));
- NodeStateEntry nse5 = fitr.next();
- assertEquals("/e/e", nse5.getPath());
- assertEquals(0, nse5.getNodeState().getChildNodeCount(100));
+ NodeStateEntry nse5 = fitr.next();
+ assertEquals("/e/e", nse5.getPath());
+ assertEquals(0, nse5.getNodeState().getChildNodeCount(100));
- assertFalse(fitr.hasNext());
+ assertFalse(fitr.hasNext());
+ }
}
@Test
@@ -101,26 +102,26 @@ public class FlatFileStoreIteratorTest {
CountingIterable<NodeStateEntry> citr = createList(preferred, asList("/a", "/a/jcr:content", "/a/jcr:content/metadata",
"/a/d", "/e"));
- FlatFileStoreIterator fitr = newFlatFileStore(citr.iterator(), preferred);
- NodeStateEntry a = fitr.next();
- assertEquals("/a", a.getPath());
-
- NodeState ns1 = a.getNodeState().getChildNode("jcr:content");
-
- NodeStateEntry nse1 = fitr.next();
- assertEquals("/a/jcr:content", nse1.getPath());
- assertEquals(1, nse1.getNodeState().getChildNodeCount(100));
-
- //Now move past /a/jcr:content
- NodeStateEntry nse2 = fitr.next();
- assertEquals("/a/jcr:content/metadata", nse2.getPath());
-
- try {
- //Now access from /a/jcr:content node should fail
- ns1.getChildNodeCount(100);
- fail("Access should have failed");
- } catch (IllegalStateException ignore) {
-
+ try (FlatFileStoreIterator fitr = newFlatFileStore(citr.iterator(), preferred)) {
+ NodeStateEntry a = fitr.next();
+ assertEquals("/a", a.getPath());
+
+ NodeState ns1 = a.getNodeState().getChildNode("jcr:content");
+
+ NodeStateEntry nse1 = fitr.next();
+ assertEquals("/a/jcr:content", nse1.getPath());
+ assertEquals(1, nse1.getNodeState().getChildNodeCount(100));
+
+ //Now move past /a/jcr:content
+ NodeStateEntry nse2 = fitr.next();
+ assertEquals("/a/jcr:content/metadata", nse2.getPath());
+
+ try {
+ //Now access from /a/jcr:content node should fail
+ ns1.getChildNodeCount(100);
+ fail("Access should have failed");
+ } catch (IllegalStateException ignore) {
+ }
}
}
@@ -131,19 +132,19 @@ public class FlatFileStoreIteratorTest {
CountingIterable<NodeStateEntry> citr = createList(preferred, asList("/a", "/a/j:c", "/a/j:c/j:c", "/a/b"));
- FlatFileStoreIterator fitr = newFlatFileStore(citr.iterator(), preferred);
-
- NodeStateEntry a = fitr.next();
- assertEquals("/a", a.getPath());
-
- NodeState aNS = a.getNodeState();
-
- // fake aggregate rule like "j:c/*"
- for (ChildNodeEntry cne : aNS.getChildNodeEntries()) {
- NodeState childNS = cne.getNodeState();
- // read preferred names for aggregation sub-tree nodes
- for (String prefName : preferred) {
- childNS.getChildNode(prefName);
+ try (FlatFileStoreIterator fitr = newFlatFileStore(citr.iterator(), preferred)) {
+ NodeStateEntry a = fitr.next();
+ assertEquals("/a", a.getPath());
+
+ NodeState aNS = a.getNodeState();
+
+ // fake aggregate rule like "j:c/*"
+ for (ChildNodeEntry cne : aNS.getChildNodeEntries()) {
+ NodeState childNS = cne.getNodeState();
+ // read preferred names for aggregation sub-tree nodes
+ for (String prefName : preferred) {
+ childNS.getChildNode(prefName);
+ }
}
}
}
@@ -156,19 +157,20 @@ public class FlatFileStoreIteratorTest {
CountingIterable<NodeStateEntry> citr = createList(preferred, asList("/a", "/a/b", "/a/c"));
- FlatFileStoreIterator fitr = newFlatFileStore(citr.iterator(), preferred);
+ try (FlatFileStoreIterator fitr = newFlatFileStore(citr.iterator(), preferred)) {
- NodeStateEntry a = fitr.next();
- assertEquals("/a", a.getPath());
+ NodeStateEntry a = fitr.next();
+ assertEquals("/a", a.getPath());
- NodeState aNS = a.getNodeState();
- aNS.getChildNode("j:c");
+ NodeState aNS = a.getNodeState();
+ aNS.getChildNode("j:c");
- // Don't read whole tree to conclude that "j:c" doesn't exist (reading /a/b should imply that it doesn't exist)
- assertEquals(1, fitr.getBufferSize());
+ // Don't read whole tree to conclude that "j:c" doesn't exist (reading /a/b should imply that it doesn't exist)
+ assertEquals(1, fitr.getBufferSize());
- // read remaining entries to trigger release of resources
- Iterators.size(fitr);
+ // read remaining entries to trigger release of resources
+ Iterators.size(fitr);
+ }
}
@Test