You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2018/10/26 21:21:19 UTC

logging-log4j2 git commit: [LOG4J2-2489] JDBC Appender should release parameter resources ASAP.

Repository: logging-log4j2
Updated Branches:
  refs/heads/release-2.x 4ac94654d -> 505d24566


[LOG4J2-2489] JDBC Appender should release parameter resources ASAP.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/505d2456
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/505d2456
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/505d2456

Branch: refs/heads/release-2.x
Commit: 505d24566fe115753c46f59373dfbfce170c2118
Parents: 4ac9465
Author: Gary Gregory <ga...@gmail.com>
Authored: Fri Oct 26 15:21:15 2018 -0600
Committer: Gary Gregory <ga...@gmail.com>
Committed: Fri Oct 26 15:21:15 2018 -0600

----------------------------------------------------------------------
 .../log4j/core/appender/db/jdbc/JdbcDatabaseManager.java    | 9 ++++++++-
 src/changes/changes.xml                                     | 3 +++
 2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/505d2456/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java
index 4f82805..df39ec1 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java
@@ -153,7 +153,8 @@ public final class JdbcDatabaseManager extends AbstractDatabaseManager {
                 throw new AppenderLoggingException(
                         "Cannot write logging event; JDBC manager not connected to the database.");
             }
-
+            // Clear in case there are leftovers.
+            statement.clearParameters();
             if (serializable instanceof MapMessage) {
                 setFields((MapMessage<?, ?>) serializable);
             }
@@ -213,6 +214,12 @@ public final class JdbcDatabaseManager extends AbstractDatabaseManager {
             throw new AppenderLoggingException("Failed to insert record for log event in JDBC manager: " +
                     e.getMessage(), e);
         } finally {
+            // Release ASAP
+            try {
+                statement.clearParameters();
+            } catch (SQLException e) {
+                // Ignore
+            }
             Closer.closeSilently(reader);
         }
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/505d2456/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 74e38f0..83a5016 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -103,6 +103,9 @@
       <action issue="LOG4J2-2476" dev="ggregory" type="fix" due-to="Al Bundy">
         org.apache.log4j.SimpleLayout and ConsoleAppender missing in log4j-1.2-api.
       </action>
+      <action issue="LOG4J2-2489" dev="ggregory" type="update">
+        JDBC Appender should release parameter resources ASAP
+      </action>
     </release>
     <release version="2.11.1" date="2018-07-22" description="GA Release 2.11.1">
       <action issue="LOG4J2-2389" dev="rgoers" type="fix" due-to="Liu Wen">