PHOENIX-1849 - MemoryLeak in PhoenixFlumePlugin PhoenixConnection
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/ee637020 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/ee637020 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/ee637020 Branch: refs/heads/calcite Commit: ee6370200b491bd210dd4f89d6be59162c994bd4 Parents: c9594e8 Author: ravimagham <[email protected]> Authored: Thu Jan 28 13:43:33 2016 -0800 Committer: ravimagham <[email protected]> Committed: Thu Jan 28 13:43:33 2016 -0800 ---------------------------------------------------------------------- .../phoenix/flume/serializer/RegexEventSerializer.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/ee637020/phoenix-flume/src/main/java/org/apache/phoenix/flume/serializer/RegexEventSerializer.java ---------------------------------------------------------------------- diff --git a/phoenix-flume/src/main/java/org/apache/phoenix/flume/serializer/RegexEventSerializer.java b/phoenix-flume/src/main/java/org/apache/phoenix/flume/serializer/RegexEventSerializer.java index 6562eb7..b636481 100644 --- a/phoenix-flume/src/main/java/org/apache/phoenix/flume/serializer/RegexEventSerializer.java +++ b/phoenix-flume/src/main/java/org/apache/phoenix/flume/serializer/RegexEventSerializer.java @@ -31,11 +31,11 @@ import java.util.regex.Pattern; import org.apache.flume.Context; import org.apache.flume.Event; +import org.apache.phoenix.schema.types.PDataType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.base.Preconditions; -import org.apache.phoenix.schema.types.PDataType; public class RegexEventSerializer extends BaseEventSerializer { @@ -69,13 +69,11 @@ public class RegexEventSerializer extends BaseEventSerializer { Preconditions.checkNotNull(connection); Preconditions.checkNotNull(this.upsertStatement); - PreparedStatement colUpsert = connection.prepareStatement(upsertStatement); boolean wasAutoCommit = connection.getAutoCommit(); connection.setAutoCommit(false); - - String value = null; - Integer sqlType = null; - try { + try (PreparedStatement colUpsert = connection.prepareStatement(upsertStatement)) { + String value = null; + Integer sqlType = null; for(Event event : events) { byte [] payloadBytes = event.getBody(); if(payloadBytes == null || payloadBytes.length == 0) { @@ -136,7 +134,7 @@ public class RegexEventSerializer extends BaseEventSerializer { } catch(Exception ex){ logger.error("An error {} occurred during persisting the event ",ex.getMessage()); throw new SQLException(ex.getMessage()); - }finally { + } finally { if(wasAutoCommit) { connection.setAutoCommit(true); }
