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();
+  }
 }

Reply via email to