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 2020/05/22 09:31:19 UTC

svn commit: r1878021 - in /jackrabbit/oak/trunk/oak-run/src: main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java

Author: mreutegg
Date: Fri May 22 09:31:19 2020
New Revision: 1878021

URL: http://svn.apache.org/viewvc?rev=1878021&view=rev
Log:
OAK-9088: FlatFileStoreIteratorTest fails on Windows

Release resources when iterator reaches last element
Update test to consume all elements of iterator

Modified:
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
    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/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java?rev=1878021&r1=1878020&r2=1878021&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java Fri May 22 09:31:19 2020
@@ -85,6 +85,7 @@ class FlatFileStoreIterator extends Abst
         current = computeNextEntry();
         if (current == null) {
             log.info("Max buffer size in complete traversal is [{}]", maxBufferSize);
+            buffer.close();
             return endOfData();
         } else {
             return current;

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=1878021&r1=1878020&r2=1878021&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 May 22 09:31:19 2020
@@ -19,11 +19,13 @@
 
 package org.apache.jackrabbit.oak.index.indexer.document.flatfile;
 
+import java.io.File;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
 import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
 import org.apache.jackrabbit.oak.index.indexer.document.NodeStateEntry;
 import org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState;
@@ -41,15 +43,17 @@ import static org.junit.Assert.fail;
 
 public class FlatFileStoreIteratorTest {
 
+    private static final File TEST_FOLDER = new File("target", "test");
+
     protected FlatFileStoreIterator newInMemoryFlatFileStore(
             Iterator<NodeStateEntry> it, Set<String> set, int memMB) {
         BlobStore blobStore = null;
-        return new FlatFileStoreIterator(blobStore, "target/test",  it, set, memMB);
+        return new FlatFileStoreIterator(blobStore, TEST_FOLDER.getPath(),  it, set, memMB);
     }
 
     protected FlatFileStoreIterator newFlatFileStore(Iterator<NodeStateEntry> it, Set<String> set) {
         BlobStore blobStore = null;
-        return new FlatFileStoreIterator(blobStore, "target/test",  it, set);
+        return new FlatFileStoreIterator(blobStore, TEST_FOLDER.getPath(),  it, set);
     }
 
     @Test
@@ -158,6 +162,9 @@ public class FlatFileStoreIteratorTest {
 
         // 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);
     }
 
     @Test