DRILL-5927: Fixed memory leak in TestBsonRecordReader, and sped up the test.
closes #1234 Project: http://git-wip-us.apache.org/repos/asf/drill/repo Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/91733087 Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/91733087 Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/91733087 Branch: refs/heads/master Commit: 9173308710c3decf8ff745493ad3e85ccdaf7c37 Parents: 6f6229a Author: Timothy Farkas <[email protected]> Authored: Fri Apr 20 16:52:59 2018 -0700 Committer: Vitalii Diravka <[email protected]> Committed: Fri Apr 27 16:47:58 2018 +0300 ---------------------------------------------------------------------- .../exec/store/bson/TestBsonRecordReader.java | 37 ++++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/drill/blob/91733087/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java b/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java index 129cfd2..dd3f6f3 100644 --- a/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java @@ -23,8 +23,10 @@ import static org.junit.Assert.assertTrue; import java.io.IOException; import java.util.Arrays; -import org.apache.drill.test.BaseTestQuery; +import org.apache.drill.exec.memory.RootAllocator; import org.apache.drill.exec.memory.BufferAllocator; +import org.apache.drill.exec.ops.BufferManager; +import org.apache.drill.exec.ops.BufferManagerImpl; import org.apache.drill.exec.store.TestOutputMutator; import org.apache.drill.exec.vector.complex.impl.SingleMapReaderImpl; import org.apache.drill.exec.vector.complex.impl.VectorContainerWriter; @@ -45,21 +47,24 @@ import org.bson.BsonSymbol; import org.bson.BsonTimestamp; import org.bson.BsonWriter; import org.bson.types.ObjectId; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { - private static VectorContainerWriter writer; - private static TestOutputMutator mutator; - private static BsonRecordReader bsonReader; +public class TestBsonRecordReader { + private BufferAllocator allocator; + private VectorContainerWriter writer; + private TestOutputMutator mutator; + private BufferManager bufferManager; + private BsonRecordReader bsonReader; - @BeforeClass - public static void setUp() { - BufferAllocator bufferAllocator = getDrillbitContext().getAllocator(); - mutator = new TestOutputMutator(bufferAllocator); + @Before + public void setUp() { + allocator = new RootAllocator(Long.MAX_VALUE); + mutator = new TestOutputMutator(allocator); writer = new VectorContainerWriter(mutator); - bsonReader = new BsonRecordReader(bufferAllocator.buffer(1024), false, false); + bufferManager = new BufferManagerImpl(allocator); + bsonReader = new BsonRecordReader(bufferManager.getManagedBuffer(1024), false, false); } @Test @@ -265,13 +270,15 @@ public class TestBsonRecordReader extends BaseTestQuery { assertEquals(3, reader.size()); } - @AfterClass - public static void cleanUp() { + @After + public void cleanUp() { try { writer.close(); } catch (Exception e) { } - } + bufferManager.close(); + allocator.close(); + } }
