diff --git a/llap-ext-client/src/java/org/apache/hadoop/hive/llap/LlapArrowBatchRecordReader.java b/llap-ext-client/src/java/org/apache/hadoop/hive/llap/LlapArrowBatchRecordReader.java index d9c5666bc4..04cfc742a6 100644 --- a/llap-ext-client/src/java/org/apache/hadoop/hive/llap/LlapArrowBatchRecordReader.java +++ b/llap-ext-client/src/java/org/apache/hadoop/hive/llap/LlapArrowBatchRecordReader.java @@ -57,10 +57,8 @@ public boolean next(NullWritable key, ArrowWrapperWritable value) throws IOExcep VectorSchemaRoot vectorSchemaRoot = arrowStreamReader.getVectorSchemaRoot(); //There must be at least one column vector Preconditions.checkState(vectorSchemaRoot.getFieldVectors().size() > 0); - if(vectorSchemaRoot.getFieldVectors().get(0).getValueCount() == 0) { - //An empty batch will appear at the end of the stream - return false; - } + // We should continue even if FieldVectors are empty. The next read might have the + // data. We should stop only when loadNextBatch returns false. value.setVectorSchemaRoot(arrowStreamReader.getVectorSchemaRoot()); return true; } else {