You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ja...@apache.org on 2014/06/20 22:25:08 UTC

[32/32] git commit: Allocate buffers when the data empty so that downstream operators do not fail in VV transfer

Allocate buffers when the data empty so that downstream operators do not fail in VV transfer


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

Branch: refs/heads/master
Commit: efa3274bdb0b7f91e8b5877a966a22fb4c59dfd8
Parents: 65f6bcb
Author: vkorukanti <ve...@gmail.com>
Authored: Fri Jun 20 12:05:05 2014 -0700
Committer: vkorukanti <ve...@gmail.com>
Committed: Fri Jun 20 12:05:05 2014 -0700

----------------------------------------------------------------------
 .../org/apache/drill/exec/store/hive/HiveRecordReader.java   | 8 ++++----
 .../java/org/apache/drill/exec/physical/impl/ScanBatch.java  | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efa3274b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java
----------------------------------------------------------------------
diff --git a/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java
index c062f8c..ddb08c6 100644
--- a/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java
+++ b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java
@@ -247,13 +247,13 @@ public class HiveRecordReader implements RecordReader {
 
   @Override
   public int next() {
-    if (empty) {
-      return 0;
-    }
-
     for (ValueVector vv : vectors) {
       VectorAllocator.getAllocator(vv, FIELD_SIZE).alloc(TARGET_RECORD_COUNT);
     }
+    if (empty) {
+      setValueCountAndPopulatePartitionVectors(0);
+      return 0;
+    }
 
     try {
       int recordCount = 0;

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efa3274b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScanBatch.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScanBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScanBatch.java
index 5f8bfb9..f440546 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScanBatch.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScanBatch.java
@@ -139,7 +139,6 @@ public class ScanBatch implements RecordBatch {
         try {
           if (!readers.hasNext()) {
             currentReader.cleanup();
-            releaseAssets();
             if (first) {
               first = false;
               done = true;
@@ -148,6 +147,7 @@ public class ScanBatch implements RecordBatch {
               schema = container.getSchema();
               return IterOutcome.OK_NEW_SCHEMA;
             }
+            releaseAssets();
             return IterOutcome.NONE;
           }
           oContext.getStats().startSetup();