DRILL-733: Reduce memory footprint of unit tests

Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/a9e6a545
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/a9e6a545
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/a9e6a545

Branch: refs/heads/master
Commit: a9e6a545c6c8617e9e49a2308c437edcb048954a
Parents: 1cc8cee
Author: Aditya Kishore <[email protected]>
Authored: Tue May 13 19:57:30 2014 -0700
Committer: Aditya Kishore <[email protected]>
Committed: Wed May 14 19:18:08 2014 -0700

----------------------------------------------------------------------
 .../java/org/apache/drill/test/DrillTest.java   | 102 ++++++++++++-------
 .../exec/client/PrintingResultsListener.java    |   2 +-
 .../exec/physical/impl/WireRecordBatch.java     |   1 +
 .../java/org/apache/drill/BaseTestQuery.java    |  47 ++++++++-
 .../java/org/apache/drill/PlanTestBase.java     |   2 +
 .../exec/client/DrillClientSystemTest.java      |  14 ++-
 .../apache/drill/exec/client/DumpCatTest.java   |   5 -
 .../apache/drill/exec/expr/ExpressionTest.java  |   5 -
 .../exec/fn/impl/TestRepeatedFunction.java      |   5 -
 .../exec/physical/impl/TestCastFunctions.java   |   5 -
 .../physical/impl/TestComparisonFunctions.java  |   9 +-
 .../physical/impl/TestConvertFunctions.java     |   9 +-
 .../drill/exec/physical/impl/TestDecimal.java   |  39 ++++++-
 .../impl/TestImplicitCastFunctions.java         |   6 --
 .../exec/physical/impl/TestOptiqPlans.java      |  15 ++-
 .../physical/impl/TestReverseImplicitCast.java  |   5 +
 .../physical/impl/TestSimpleFragmentRun.java    |   1 +
 .../exec/physical/impl/TestSimpleFunctions.java |   5 -
 .../drill/exec/physical/impl/agg/TestAgg.java   |   5 -
 .../physical/impl/filter/TestSimpleFilter.java  |   5 -
 .../exec/physical/impl/join/TestHashJoin.java   |  12 +++
 .../exec/physical/impl/join/TestMergeJoin.java  |  13 +--
 .../impl/project/TestSimpleProjection.java      |   5 -
 .../exec/physical/impl/sort/TestSimpleSort.java |   5 -
 .../physical/impl/svremover/TestSVRemover.java  |   5 -
 .../impl/trace/TestTraceOutputDump.java         |   5 -
 .../physical/impl/union/TestSimpleUnion.java    |   5 -
 .../physical/impl/writer/TestParquetWriter.java |   6 ++
 .../exec/physical/impl/writer/TestWriter.java   |  17 ++--
 .../drill/exec/record/vector/TestLoad.java      |   2 +
 .../exec/record/vector/TestValueVector.java     |   2 -
 .../store/parquet/ParquetResultListener.java    |   6 +-
 .../store/parquet/TestParquetPhysicalPlan.java  |   8 +-
 .../exec/store/text/TextRecordReaderTest.java   |   2 +
 34 files changed, 224 insertions(+), 156 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/common/src/test/java/org/apache/drill/test/DrillTest.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/drill/test/DrillTest.java 
b/common/src/test/java/org/apache/drill/test/DrillTest.java
index 0b098cb..6e9af83 100644
--- a/common/src/test/java/org/apache/drill/test/DrillTest.java
+++ b/common/src/test/java/org/apache/drill/test/DrillTest.java
@@ -24,6 +24,7 @@ import java.util.List;
 
 import org.apache.drill.common.util.TestTools;
 import org.junit.AfterClass;
+import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.rules.TestRule;
 import org.junit.rules.TestWatcher;
@@ -31,78 +32,106 @@ import org.junit.runner.Description;
 import org.slf4j.Logger;
 
 public class DrillTest {
-  static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(DrillTest.class);
+  static final Logger logger = 
org.slf4j.LoggerFactory.getLogger(DrillTest.class);
 
   static final SystemManager manager = new SystemManager();
-  static final TestLogReporter LOG_OUTCOME = new 
TestLogReporter(org.slf4j.LoggerFactory.getLogger("org.apache.drill.TestReporter"));
+  
+  static final Logger testReporter = 
org.slf4j.LoggerFactory.getLogger("org.apache.drill.TestReporter");
+  static final TestLogReporter LOG_OUTCOME = new TestLogReporter();
+
+  static MemWatcher memWatcher;
+  static String className;
 
   @Rule public final TestRule TIMEOUT = TestTools.getTimeoutRule(50000);
   @Rule public final TestLogReporter logOutcome = LOG_OUTCOME;
 
+  @BeforeClass
+  public static void initDrillTest() throws Exception {
+    memWatcher = new MemWatcher();
+  }
+
   @AfterClass
-  public static void letLogsCatchUp() throws InterruptedException{
+  public static void finiDrillTest() throws InterruptedException{
+    testReporter.info(String.format("Test Class done (%s): %s.", 
memWatcher.getMemString(true), className));
     LOG_OUTCOME.sleepIfFailure();
   }
 
-  private static class TestLogReporter extends TestWatcher{
-
-
-    private int failureCount = 0;
-
-    final Logger logger;
+  protected static class MemWatcher {
     private long startDirect;
     private long startHeap;
     private long startNonHeap;
 
-    public TestLogReporter(Logger logger) {
-      this.logger = logger;
+    public MemWatcher() {
+      startDirect = manager.getMemDirect();
+      startHeap = manager.getMemHeap();
+      startNonHeap = manager.getMemNonHeap();
+    }
+
+    public Object getMemString() {
+      return getMemString(false);
     }
 
+    public String getMemString(boolean runGC) {
+      if (runGC) {
+        Runtime.getRuntime().gc();
+      }
+      long endDirect = manager.getMemDirect();
+      long endHeap = manager.getMemHeap();
+      long endNonHeap = manager.getMemNonHeap();
+      return String.format("d: %s(%s), h: %s(%s), nh: %s(%s)", //
+          readable(endDirect - startDirect), readable(endDirect), //
+          readable(endHeap - startHeap), readable(endHeap), //
+          readable(endNonHeap - startNonHeap), readable(endNonHeap) //
+       );
+    }
+
+  }
+
+  private static class TestLogReporter extends TestWatcher {
+
+    private MemWatcher memWatcher;
+    private int failureCount = 0;
 
     @Override
     protected void starting(Description description) {
-      startDirect = manager.getMemDirect();
-      startHeap = manager.getMemHeap();
-      startNonHeap = manager.getMemNonHeap();
       super.starting(description);
+      className = description.getClassName();
+      memWatcher = new MemWatcher();
     }
 
-
-    public String getMemString(){
-      return String.format("d: %s, h: %s, nh: %s", //
-          readable(manager.getMemDirect() - startDirect), //
-          readable(manager.getMemHeap() - startHeap), //
-          readable(manager.getMemNonHeap() - startNonHeap) //
-          );
-    }
     @Override
     protected void failed(Throwable e, Description description) {
-      logger.error(String.format("Test Failed (%s): %s", getMemString(), 
description.getDisplayName()), e);
+      testReporter.error(String.format("Test Failed (%s): %s", 
memWatcher.getMemString(), description.getDisplayName()), e);
       failureCount++;
     }
 
     @Override
     public void succeeded(Description description) {
-      logger.info(String.format("Test Succeeded (%s): %s", getMemString(), 
description.getDisplayName()));
+      testReporter.info(String.format("Test Succeeded (%s): %s", 
memWatcher.getMemString(), description.getDisplayName()));
     }
 
-    public void sleepIfFailure() throws InterruptedException{
+    public void sleepIfFailure() throws InterruptedException {
       if(failureCount > 0){
         Thread.sleep(2000);
         failureCount = 0;
+      } else {
+        // pause to get logger to catch up.
+        Thread.sleep(250);
       }
     }
+
   }
 
   public static String readable(long bytes) {
     int unit = 1024;
-    if (bytes < unit) return bytes + " B";
-    int exp = (int) (Math.log(bytes) / Math.log(unit));
-    String pre = ("KMGTPE").charAt(exp-1) + ("i");
-    return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
-}
+    long absBytes = Math.abs(bytes);
+    if (absBytes < unit) return bytes + " B";
+    int exp = (int) (Math.log(absBytes) / Math.log(unit));
+    char pre = ("KMGTPE").charAt(exp-1);
+    return String.format("%s%.1f %ciB", (bytes == absBytes ? "" : "-"), 
absBytes / Math.pow(unit, exp), pre);
+  }
 
-  private static class SystemManager{
+  private static class SystemManager {
 
     final BufferPoolMXBean directBean;
     final MemoryMXBean memoryBean;
@@ -120,15 +149,18 @@ public class DrillTest {
       directBean = localBean;
     }
 
-    public long getMemDirect(){
+    public long getMemDirect() {
       return directBean.getMemoryUsed();
     }
 
-    public long getMemHeap(){
+    public long getMemHeap() {
       return memoryBean.getHeapMemoryUsage().getUsed();
     }
 
-    public long getMemNonHeap(){
+    public long getMemNonHeap() {
       return memoryBean.getNonHeapMemoryUsage().getUsed();
     }
-  }}
+
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
index f161782..0dfc45a 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
@@ -75,7 +75,7 @@ public class PrintingResultsListener implements 
UserResultsListener {
           VectorUtil.showVectorAccessibleContent(loader, ",");
           break;
       }
-
+      loader.clear();
     }
 
     boolean isLastChunk = result.getHeader().getIsLastChunk();

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/WireRecordBatch.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/WireRecordBatch.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/WireRecordBatch.java
index cf3d75e..d9ac881 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/WireRecordBatch.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/WireRecordBatch.java
@@ -134,6 +134,7 @@ public class WireRecordBatch implements RecordBatch {
 
   @Override
   public void cleanup() {
+    batchLoader.clear();
     fragProvider.cleanup();
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java 
b/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java
index 0e5963a..062511e 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java
@@ -20,6 +20,8 @@ package org.apache.drill;
 import java.io.IOException;
 import java.net.URL;
 import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.drill.common.config.DrillConfig;
 import org.apache.drill.common.util.TestTools;
@@ -29,7 +31,10 @@ import org.apache.drill.exec.client.PrintingResultsListener;
 import org.apache.drill.exec.client.QuerySubmitter;
 import org.apache.drill.exec.client.QuerySubmitter.Format;
 import org.apache.drill.exec.memory.BufferAllocator;
+import org.apache.drill.exec.proto.UserBitShared.QueryId;
 import org.apache.drill.exec.proto.UserProtos.QueryType;
+import org.apache.drill.exec.rpc.RpcException;
+import org.apache.drill.exec.rpc.user.ConnectionThrottle;
 import org.apache.drill.exec.rpc.user.QueryResultBatch;
 import org.apache.drill.exec.rpc.user.UserResultsListener;
 import org.apache.drill.exec.server.Drillbit;
@@ -90,6 +95,11 @@ public class BaseTestQuery extends ExecTest{
     if(serviceSet != null) serviceSet.close();
   }
 
+  protected void runSQL(String sql) throws Exception {
+    SilentListener listener = new SilentListener();
+    testWithListener(QueryType.SQL, sql, listener);
+    listener.waitForCompletion();
+  }
 
   protected List<QueryResultBatch> testSqlWithResults(String sql) throws 
Exception{
     return testRunAndReturn(QueryType.SQL, sql);
@@ -146,7 +156,6 @@ public class BaseTestQuery extends ExecTest{
     test(getFile(file));
   }
 
-
   protected String getFile(String resource) throws IOException{
     URL url = Resources.getResource(resource);
     if(url == null){
@@ -154,4 +163,40 @@ public class BaseTestQuery extends ExecTest{
     }
     return Resources.toString(url, Charsets.UTF_8);
   }
+
+  private static class SilentListener implements UserResultsListener {
+    private volatile Exception exception;
+    private AtomicInteger count = new AtomicInteger();
+    private CountDownLatch latch = new CountDownLatch(1);
+
+    @Override
+    public void submissionFailed(RpcException ex) {
+      exception = ex;
+      System.out.println("Query failed: " + ex.getMessage());
+      latch.countDown();
+    }
+
+    @Override
+    public void resultArrived(QueryResultBatch result, ConnectionThrottle 
throttle) {
+      int rows = result.getHeader().getRowCount();
+      if (result.getData() != null) {
+        count.addAndGet(rows);
+      }
+      result.release();
+      if (result.getHeader().getIsLastChunk()) {
+        System.out.println("Query completed successfully with row count: " + 
count.get());
+        latch.countDown();
+      }
+    }
+
+    @Override
+    public void queryIdArrived(QueryId queryId) {}
+
+    public int waitForCompletion() throws Exception {
+      latch.await();
+      if(exception != null) throw exception;
+      return count.get();
+    }
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/PlanTestBase.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/PlanTestBase.java 
b/exec/java-exec/src/test/java/org/apache/drill/PlanTestBase.java
index 1dba073..356b63d 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/PlanTestBase.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/PlanTestBase.java
@@ -222,6 +222,8 @@ public class PlanTestBase extends BaseTestQuery {
         builder.append(o);
         System.out.println(vv.getAccessor().getObject(i));
       }
+      loader.clear();
+      b.release();
     }
 
     return builder.toString();

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillClientSystemTest.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillClientSystemTest.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillClientSystemTest.java
index 6bcc2f6..f3789d0 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillClientSystemTest.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillClientSystemTest.java
@@ -56,8 +56,11 @@ public class DrillClientSystemTest extends 
DrillSystemTestBase {
     startCluster(1);
     DrillClient client = new DrillClient();
     client.connect();
-    List<QueryResultBatch> result = client.runQuery(QueryType.LOGICAL, plan);
-    System.out.println(result);
+    List<QueryResultBatch> results = client.runQuery(QueryType.LOGICAL, plan);
+    for (QueryResultBatch result : results) {
+      System.out.println(result);
+      result.release();
+    }
     client.close();
   }
 
@@ -67,8 +70,11 @@ public class DrillClientSystemTest extends 
DrillSystemTestBase {
     startCluster(2);
     DrillClient client = new DrillClient();
     client.connect();
-    List<QueryResultBatch> result = client.runQuery(QueryType.LOGICAL, plan);
-    System.out.println(result);
+    List<QueryResultBatch> results = client.runQuery(QueryType.LOGICAL, plan);
+    for (QueryResultBatch result : results) {
+      System.out.println(result);
+      result.release();
+    }
     client.close();
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java 
b/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java
index 62b280d..9090685 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java
@@ -125,9 +125,4 @@ public class DumpCatTest  extends ExecTest{
       input.close();
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-      // pause to get logger to catch up.
-      Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java 
b/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
index c1452cd..da82998 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
@@ -129,9 +129,4 @@ public class ExpressionTest extends ExecTest {
     return cg.getCodeGenerator().generate();
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
index 4df6086..4345560 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
@@ -110,9 +110,4 @@ public class TestRepeatedFunction extends ExecTest{
 
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestCastFunctions.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestCastFunctions.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestCastFunctions.java
index 402df63..1e88774 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestCastFunctions.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestCastFunctions.java
@@ -483,9 +483,4 @@ public class TestCastFunctions extends PopUnitTestBase{
     return res;
  }
 
-  @After
-  public void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestComparisonFunctions.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestComparisonFunctions.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestComparisonFunctions.java
index 2caa6da..172bbed 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestComparisonFunctions.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestComparisonFunctions.java
@@ -38,6 +38,7 @@ import org.apache.drill.exec.proto.ExecProtos;
 import org.apache.drill.exec.proto.BitControl.PlanFragment;
 import org.apache.drill.exec.rpc.user.UserServer;
 import org.apache.drill.exec.server.DrillbitContext;
+import org.apache.drill.exec.vector.ValueVector;
 import org.junit.AfterClass;
 import org.junit.Test;
 
@@ -71,6 +72,9 @@ public class TestComparisonFunctions extends ExecTest {
 
     while(exec.next()){
       assertEquals(String.format("Expression: %s;", expression), 
expectedResults, exec.getSelectionVector2().getCount());
+//      for (ValueVector vv: exec) {
+//        vv.close();
+//      }
     }
 
     exec.stop();
@@ -150,9 +154,4 @@ public class TestComparisonFunctions extends ExecTest {
     runTest(bitContext, connection, "bigIntNullableColumn <= 
bigIntNullableColumn", 50);
   }
 
-    @AfterClass
-    public static void tearDown() throws Exception{
-        // pause to get logger to catch up.
-        Thread.sleep(1000);
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestConvertFunctions.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestConvertFunctions.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestConvertFunctions.java
index 85aef58..4f9e8e9 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestConvertFunctions.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestConvertFunctions.java
@@ -347,9 +347,7 @@ public class TestConvertFunctions extends BaseTestQuery {
     if (textFileContent == null) textFileContent = 
Resources.toString(Resources.getResource(CONVERSION_TEST_PHYSICAL_PLAN), 
Charsets.UTF_8);
     String planString = textFileContent.replace("__CONVERT_EXPRESSION__", 
expression);
 
-    List<QueryResultBatch> resultList = testPhysicalWithResults(planString);
-
-    Object[] results = getRunResult(resultList);
+    Object[] results = getRunResult(planString);
     assertEquals(testName, 1, results.length);
     assertNotNull(testName, results[0]);
     if (expectedResults.getClass().isArray()) {
@@ -359,10 +357,11 @@ public class TestConvertFunctions extends BaseTestQuery {
     }
   }
 
-  protected Object[] getRunResult(List<QueryResultBatch> resultList) throws 
SchemaChangeException {
+  protected Object[] getRunResult(String planString) throws Exception {
     List<Object> res = new ArrayList<Object>();
-
     RecordBatchLoader loader = new RecordBatchLoader(getAllocator());
+
+    List<QueryResultBatch> resultList = testPhysicalWithResults(planString);
     for(QueryResultBatch result : resultList) {
       loader.load(result.getHeader().getDef(), result.getData());
       if (loader.getRecordCount() > 0) {

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestDecimal.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestDecimal.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestDecimal.java
index 79f7b24..d35a371 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestDecimal.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestDecimal.java
@@ -17,7 +17,6 @@
  */
 package org.apache.drill.exec.physical.impl;
 
-import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
@@ -34,10 +33,7 @@ import org.apache.drill.exec.record.VectorWrapper;
 import org.apache.drill.exec.rpc.user.QueryResultBatch;
 import org.apache.drill.exec.server.Drillbit;
 import org.apache.drill.exec.server.RemoteServiceSet;
-import org.apache.drill.exec.vector.NullableVarCharVector;
 import org.apache.drill.exec.vector.ValueVector;
-import org.apache.drill.exec.vector.VarCharVector;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.google.common.base.Charsets;
@@ -85,6 +81,11 @@ public class TestDecimal extends PopUnitTestBase{
             }
             assertEquals(6, dec9Accessor.getValueCount());
             assertEquals(6, dec18Accessor.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 
@@ -125,6 +126,11 @@ public class TestDecimal extends PopUnitTestBase{
             }
             assertEquals(6, dec9Accessor.getValueCount());
             assertEquals(6, dec38Accessor.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 
@@ -169,6 +175,11 @@ public class TestDecimal extends PopUnitTestBase{
             assertEquals(6, addAccessor.getValueCount());
             assertEquals(6, subAccessor.getValueCount());
             assertEquals(6, mulAccessor.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 
@@ -213,6 +224,11 @@ public class TestDecimal extends PopUnitTestBase{
             assertEquals(7, addAccessor.getValueCount());
             assertEquals(7, subAccessor.getValueCount());
             assertEquals(7, mulAccessor.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 
@@ -258,6 +274,11 @@ public class TestDecimal extends PopUnitTestBase{
                 assertEquals(sortOutput[i], accessor.getObject(i).toString());
             }
             assertEquals(10, accessor.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 
@@ -296,6 +317,11 @@ public class TestDecimal extends PopUnitTestBase{
                 assertEquals(accessor.getObject(i).toString(), sortOutput[i]);
             }
             assertEquals(7, accessor.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 
@@ -339,6 +365,11 @@ public class TestDecimal extends PopUnitTestBase{
                 assertEquals(accessor.getObject(i).toString(), output[i]);
             }
             assertEquals(6, accessor.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestImplicitCastFunctions.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestImplicitCastFunctions.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestImplicitCastFunctions.java
index adfd9bc..ba3b646 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestImplicitCastFunctions.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestImplicitCastFunctions.java
@@ -142,12 +142,6 @@ public class TestImplicitCastFunctions extends ExecTest {
     runTest(bitContext, connection, expected, 
"functions/cast/testICastMockCol.json");
   }
 
-    @AfterClass
-    public static void tearDown() throws Exception{
-        // pause to get logger to catch up.
-        Thread.sleep(1000);
-    }
-
     @Test
     public void testImplicitCastWithNullExpression(@Injectable final 
DrillbitContext bitContext,
                              @Injectable UserServer.UserClientConnection 
connection) throws Throwable{

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestOptiqPlans.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestOptiqPlans.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestOptiqPlans.java
index 41b00da..fe82cd1 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestOptiqPlans.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestOptiqPlans.java
@@ -146,6 +146,8 @@ public class TestOptiqPlans extends ExecTest {
             System.out.println(vv.getAccessor().getObject(i));
           }
         }
+        loader.clear();
+        b.release();
       }
       client.close();
     }
@@ -174,6 +176,8 @@ public class TestOptiqPlans extends ExecTest {
             System.out.println(vv.getAccessor().getObject(i));
           }
         }
+        loader.clear();
+        b.release();
       }
       client.close();
     }
@@ -212,6 +216,8 @@ public class TestOptiqPlans extends ExecTest {
 
           }
         }
+        loader.clear();
+        b.release();
       }
       client.close();
     }
@@ -250,6 +256,8 @@ public class TestOptiqPlans extends ExecTest {
 
           }
         }
+        loader.clear();
+        b.release();
       }
       client.close();
     }
@@ -288,6 +296,8 @@ public class TestOptiqPlans extends ExecTest {
 
           }
         }
+        loader.clear();
+        b.release();
       }
       client.close();
     }
@@ -318,9 +328,4 @@ public class TestOptiqPlans extends ExecTest {
     return exec;
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception {
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestReverseImplicitCast.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestReverseImplicitCast.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestReverseImplicitCast.java
index 9285501..62afa12 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestReverseImplicitCast.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestReverseImplicitCast.java
@@ -73,6 +73,11 @@ public class TestReverseImplicitCast extends PopUnitTestBase 
{
         System.out.println(varcharAccessor1.getObject(i));
         assertEquals(varcharAccessor1.getObject(i).toString(), "101");
       }
+
+      batchLoader.clear();
+      for (QueryResultBatch result : results) {
+        result.release();
+      }
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFragmentRun.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFragmentRun.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFragmentRun.java
index 842aa8f..c8126c4 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFragmentRun.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFragmentRun.java
@@ -102,6 +102,7 @@ public class TestSimpleFragmentRun extends PopUnitTestBase {
         }
         if(!first) System.out.println();
       }
+      batchLoader.clear();
       batch.release();
     }
     logger.debug("Received results {}", results);

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFunctions.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFunctions.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFunctions.java
index b2c278c..2443ced 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFunctions.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFunctions.java
@@ -265,9 +265,4 @@ public class TestSimpleFunctions extends ExecTest {
 
   }
 
-  @After
-  public void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/agg/TestAgg.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/agg/TestAgg.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/agg/TestAgg.java
index ecfc10a..46ace78 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/agg/TestAgg.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/agg/TestAgg.java
@@ -130,9 +130,4 @@ public class TestAgg extends ExecTest {
 
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/filter/TestSimpleFilter.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/filter/TestSimpleFilter.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/filter/TestSimpleFilter.java
index 3db5e7f..23bc28f 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/filter/TestSimpleFilter.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/filter/TestSimpleFilter.java
@@ -114,9 +114,4 @@ public class TestSimpleFilter extends ExecTest {
 
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestHashJoin.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestHashJoin.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestHashJoin.java
index ea83534..13180db 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestHashJoin.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestHashJoin.java
@@ -150,6 +150,11 @@ public class TestHashJoin extends PopUnitTestBase{
                 assertEquals(intAccessor1.getObject(i), colA[i]);
             }
             assertEquals(6, intAccessor1.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 
@@ -172,6 +177,7 @@ public class TestHashJoin extends PopUnitTestBase{
             for(QueryResultBatch b : results) {
                 if (b.getHeader().getRowCount() != 0)
                     count += b.getHeader().getRowCount();
+                b.release();
             }
 
             System.out.println("Total records: " + count);
@@ -217,6 +223,11 @@ public class TestHashJoin extends PopUnitTestBase{
                 assertEquals(intAccessor2.getObject(i), colC[i]);
             }
             assertEquals(3, intAccessor1.getValueCount());
+
+            batchLoader.clear();
+            for (QueryResultBatch result : results) {
+              result.release();
+            }
         }
     }
 
@@ -240,6 +251,7 @@ public class TestHashJoin extends PopUnitTestBase{
       for(QueryResultBatch b : results) {
         if (b.getHeader().getRowCount() != 0)
           count += b.getHeader().getRowCount();
+        b.release();
       }
 
       System.out.println("Total records: " + count);

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestMergeJoin.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestMergeJoin.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestMergeJoin.java
index 25af66d..1754c5c 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestMergeJoin.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestMergeJoin.java
@@ -320,6 +320,7 @@ public class TestMergeJoin extends PopUnitTestBase {
       for(QueryResultBatch b : results) {
         if (b.getHeader().getRowCount() != 0)
           count += b.getHeader().getRowCount();
+        b.release();
       }
       assertEquals(0, count);
     }
@@ -342,6 +343,7 @@ public class TestMergeJoin extends PopUnitTestBase {
       for(QueryResultBatch b : results) {
         if (b.getHeader().getRowCount() != 0)
           count += b.getHeader().getRowCount();
+        b.release();
       }
       assertEquals(50, count);
     }
@@ -364,19 +366,10 @@ public class TestMergeJoin extends PopUnitTestBase {
       for(QueryResultBatch b : results) {
         if (b.getHeader().getRowCount() != 0)
           count += b.getHeader().getRowCount();
+        b.release();
       }
       assertEquals(0, count);
     }
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
-
-
 }
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/project/TestSimpleProjection.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/project/TestSimpleProjection.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/project/TestSimpleProjection.java
index b9e8f6f..a05a632 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/project/TestSimpleProjection.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/project/TestSimpleProjection.java
@@ -96,9 +96,4 @@ public class TestSimpleProjection extends ExecTest {
     assertTrue(!context.isFailed());
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/sort/TestSimpleSort.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/sort/TestSimpleSort.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/sort/TestSimpleSort.java
index b7f002e..6e9ecb1 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/sort/TestSimpleSort.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/sort/TestSimpleSort.java
@@ -160,9 +160,4 @@ public class TestSimpleSort extends ExecTest {
     assertTrue(!context.isFailed());
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/svremover/TestSVRemover.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/svremover/TestSVRemover.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/svremover/TestSVRemover.java
index e45c938..6032681 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/svremover/TestSVRemover.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/svremover/TestSVRemover.java
@@ -86,9 +86,4 @@ public class TestSVRemover extends ExecTest {
 
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/trace/TestTraceOutputDump.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/trace/TestTraceOutputDump.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/trace/TestTraceOutputDump.java
index c768296..998851a 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/trace/TestTraceOutputDump.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/trace/TestTraceOutputDump.java
@@ -139,9 +139,4 @@ public class TestTraceOutputDump extends ExecTest {
         assertTrue(value == Integer.MIN_VALUE);
     }
 
-    @AfterClass
-    public static void tearDown() throws Exception{
-        // pause to get logger to catch up.
-        Thread.sleep(1000);
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/union/TestSimpleUnion.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/union/TestSimpleUnion.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/union/TestSimpleUnion.java
index fc88f2a..1fc2164 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/union/TestSimpleUnion.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/union/TestSimpleUnion.java
@@ -84,9 +84,4 @@ public class TestSimpleUnion extends ExecTest {
 
   }
 
-  @After
-  public void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestParquetWriter.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestParquetWriter.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestParquetWriter.java
index 757bab7..3288ec3 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestParquetWriter.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestParquetWriter.java
@@ -102,6 +102,12 @@ public class TestParquetWriter extends BaseTestQuery {
     List<QueryResultBatch> results = testSqlWithResults(query);
     List<QueryResultBatch> expected = testSqlWithResults(validateQuery);
     compareResults(expected, results);
+    for (QueryResultBatch result : results) {
+      result.release();
+    }
+    for (QueryResultBatch result : expected) {
+      result.release();
+    }
   }
 
   public void compareResults(List<QueryResultBatch> expected, 
List<QueryResultBatch> result) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestWriter.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestWriter.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestWriter.java
index 43e12d0..8d9a74d 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestWriter.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestWriter.java
@@ -94,8 +94,8 @@ public class TestWriter extends BaseTestQuery {
 
   @Test
   public void simpleCTAS() throws Exception {
-    testSqlWithResults("Use dfs.tmp");
-    testSqlWithResults(ALTER_SESSION);
+    runSQL("Use dfs.tmp");
+    runSQL(ALTER_SESSION);
 
     String testQuery = "CREATE TABLE simplectas AS SELECT * FROM 
cp.`employee.json`";
 
@@ -104,8 +104,8 @@ public class TestWriter extends BaseTestQuery {
 
   @Test
   public void complex1CTAS() throws Exception {
-    testSqlWithResults("Use dfs.tmp");
-    testSqlWithResults(ALTER_SESSION);
+    runSQL("Use dfs.tmp");
+    runSQL(ALTER_SESSION);
     String testQuery = "CREATE TABLE complex1ctas AS SELECT first_name, 
last_name, position_id FROM cp.`employee.json`";
 
     ctasHelper("/tmp/drilltest/complex1ctas", testQuery, 1155);
@@ -113,8 +113,8 @@ public class TestWriter extends BaseTestQuery {
 
   @Test
   public void complex2CTAS() throws Exception {
-    testSqlWithResults("Use dfs.tmp");
-    testSqlWithResults(ALTER_SESSION);
+    runSQL("Use dfs.tmp");
+    runSQL(ALTER_SESSION);
     String testQuery = "CREATE TABLE complex2ctas AS SELECT CAST(`birth_date` 
as Timestamp) FROM cp.`employee.json` GROUP BY birth_date";
 
     ctasHelper("/tmp/drilltest/complex2ctas", testQuery, 52);
@@ -122,7 +122,7 @@ public class TestWriter extends BaseTestQuery {
 
   @Test
   public void simpleCTASWithSchemaInTableName() throws Exception {
-    testSqlWithResults(ALTER_SESSION);
+    runSQL(ALTER_SESSION);
     String testQuery = "CREATE TABLE dfs.tmp.`/test/simplectas2` AS SELECT * 
FROM cp.`employee.json`";
 
     ctasHelper("/tmp/drilltest/test/simplectas2", testQuery, 1155);
@@ -159,13 +159,12 @@ public class TestWriter extends BaseTestQuery {
         recordsWritten += recordWrittenV.getAccessor().get(i);
       }
 
+      batchLoader.clear();
       batch.release();
     }
-    batchLoader.clear();
 
 //    assertTrue(fs.exists(tableLocation));
     assertEquals(expectedOutputCount, recordsWritten);
-    Thread.sleep(1000);
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestLoad.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestLoad.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestLoad.java
index 5c5d566..33bfc71 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestLoad.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestLoad.java
@@ -115,6 +115,8 @@ public class TestLoad extends ExecTest {
       if (!first) System.out.println();
     }
     assertEquals(100, recordCount);
+    batchLoader.clear();
+    writableBatch.clear();
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestValueVector.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestValueVector.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestValueVector.java
index 6dc87e9..312ca6b 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestValueVector.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestValueVector.java
@@ -68,8 +68,6 @@ public class TestValueVector extends ExecTest {
     assertEquals(103, v.getAccessor().get(1022));
     assertEquals(104, v.getAccessor().get(1023));
 
-    // Ensure unallocated space returns 0
-    assertEquals(0, v.getAccessor().get(3));
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/ParquetResultListener.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/ParquetResultListener.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/ParquetResultListener.java
index 257a49e..04197bc 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/ParquetResultListener.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/ParquetResultListener.java
@@ -171,11 +171,11 @@ public class ParquetResultListener implements 
UserResultsListener {
       }
 
       assert valuesChecked.keySet().size() > 0;
-      result.release();
       future.set(null);
-    }else{
-      result.release();
     }
+    
+    batchLoader.clear();
+    result.release();
   }
 
   public void getResults() throws RpcException{

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestParquetPhysicalPlan.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestParquetPhysicalPlan.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestParquetPhysicalPlan.java
index a885ede..c569932 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestParquetPhysicalPlan.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestParquetPhysicalPlan.java
@@ -79,6 +79,8 @@ public class TestParquetPhysicalPlan extends ExecTest {
           }
           System.out.println();
         }
+        loader.clear();
+        b.release();
       }
       client.close();
       System.out.println(String.format("Got %d total results", count));
@@ -128,10 +130,4 @@ public class TestParquetPhysicalPlan extends ExecTest {
     }
   }
 
-  @AfterClass
-  public static void tearDown() throws Exception{
-    // pause to get logger to catch up.
-    Thread.sleep(1000);
-  }
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a9e6a545/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TextRecordReaderTest.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TextRecordReaderTest.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TextRecordReaderTest.java
index 0155690..3abd6a9 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TextRecordReaderTest.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TextRecordReaderTest.java
@@ -80,6 +80,8 @@ public class TextRecordReaderTest extends PopUnitTestBase {
         }
         loader.load(b.getHeader().getDef(), b.getData());
         VectorUtil.showVectorAccessibleContent(loader);
+        loader.clear();
+        b.release();
       }
       assertEquals(5, count);
     }

Reply via email to