You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by js...@apache.org on 2014/11/29 20:16:19 UTC
[07/10] drill git commit: DRILL-1787: Fix memory leak in kvgen
function.
DRILL-1787: Fix memory leak in kvgen function.
Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/0ded8997
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/0ded8997
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/0ded8997
Branch: refs/heads/master
Commit: 0ded8997580125944487c1a7a7b793e7763f1462
Parents: 86a775f
Author: Jacques Nadeau <ja...@apache.org>
Authored: Thu Nov 20 18:09:58 2014 -0800
Committer: Jason Altekruse <al...@gmail.com>
Committed: Fri Nov 28 22:28:25 2014 -0800
----------------------------------------------------------------------
.../main/java/org/apache/drill/exec/expr/fn/impl/Mappify.java | 2 +-
.../org/apache/drill/exec/expr/fn/impl/MappifyUtility.java | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/drill/blob/0ded8997/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Mappify.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Mappify.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Mappify.java
index 7f340e1..da9009c 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Mappify.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Mappify.java
@@ -61,7 +61,7 @@ public class Mappify {
}
public void eval() {
- org.apache.drill.exec.expr.fn.impl.MappifyUtility.mappify(reader, writer, buffer);
+ buffer = org.apache.drill.exec.expr.fn.impl.MappifyUtility.mappify(reader, writer, buffer);
}
}
}
http://git-wip-us.apache.org/repos/asf/drill/blob/0ded8997/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MappifyUtility.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MappifyUtility.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MappifyUtility.java
index 160910c..349c709 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MappifyUtility.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MappifyUtility.java
@@ -37,7 +37,7 @@ public class MappifyUtility {
public static final String fieldKey = "key";
public static final String fieldValue = "value";
- public static void mappify(FieldReader reader, BaseWriter.ComplexWriter writer, DrillBuf buffer) {
+ public static DrillBuf mappify(FieldReader reader, BaseWriter.ComplexWriter writer, DrillBuf buffer) {
// Currently we expect single map as input
if (!(reader instanceof SingleMapReaderImpl)) {
throw new DrillRuntimeException("kvgen function only supports Simple maps as input");
@@ -64,7 +64,7 @@ public class MappifyUtility {
// write "key":"columnname" into the map
VarCharHolder vh = new VarCharHolder();
byte[] b = str.getBytes(Charsets.UTF_8);
- buffer.reallocIfNeeded(b.length);
+ buffer = buffer.reallocIfNeeded(b.length);
buffer.setBytes(0, b);
vh.start = 0;
vh.end = b.length;
@@ -77,6 +77,8 @@ public class MappifyUtility {
mapWriter.end();
}
listWriter.end();
+
+ return buffer;
}
}