aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main
diff options
context:
space:
mode:
authorMehant Baid <mehantr@gmail.com>2014-08-22 01:03:47 -0700
committerJacques Nadeau <jacques@apache.org>2014-08-24 12:03:26 -0700
commit2275da9c2c0aaf072172bff302f8b11800989e35 (patch)
treea4c047764cff6bf07fa2f29e2a4e0ffcaa5afde4 /exec/java-exec/src/main
parentf1136ab94c8cf64218e7ad4952c5d0b2cf6c3434 (diff)
DRILL-1322: Fix memory leak when all records in a batch are filtered
Diffstat (limited to 'exec/java-exec/src/main')
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/record/WritableBatch.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/record/WritableBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/record/WritableBatch.java
index 97f665aa2..b55ed8235 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/record/WritableBatch.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/record/WritableBatch.java
@@ -132,8 +132,10 @@ public class WritableBatch {
metadata.add(vv.getMetadata());
// don't try to get the buffers if we don't have any records. It is possible the buffers are dead buffers.
- if (recordCount == 0)
+ if (recordCount == 0) {
+ vv.clear();
continue;
+ }
for (ByteBuf b : vv.getBuffers()) {
buffers.add(b);