You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2016/05/10 14:18:45 UTC

svn commit: r1743193 - in /jackrabbit/oak/branches/1.4: ./ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBConnectionHandler.java

Author: reschke
Date: Tue May 10 14:18:45 2016
New Revision: 1743193

URL: http://svn.apache.org/viewvc?rev=1743193&view=rev
Log:
OAK-4156: RDBConnectionHandler: add logging when getting the connection takes long (ported to 1.4)

Modified:
    jackrabbit/oak/branches/1.4/   (props changed)
    jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBConnectionHandler.java

Propchange: jackrabbit/oak/branches/1.4/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 10 14:18:45 2016
@@ -1,3 +1,3 @@
 /jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1733615,1733875,1733913,1733929,1734230,1734254,1734279,1734941,1735052,1735405,1735484,1735549,1735564,1735588,1735622,1735638,1735919,1735983,1736176,1737309-1737310,1737334,1737998,1738004,1738775,1738963,1739894,1740971,1741032,1741339,1741343,1742520,1742888,1742916,1743097,1743172
+/jackrabbit/oak/trunk:1733615,1733875,1733913,1733929,1734230,1734254,1734279,1734941,1735052,1735405,1735484,1735549,1735564,1735588,1735622,1735638,1735919,1735983,1736176,1737309-1737310,1737334,1737349,1737998,1738004,1738775,1738963,1739894,1740971,1741032,1741339,1741343,1742520,1742888,1742916,1743097,1743172
 /jackrabbit/trunk:1345480

Modified: jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBConnectionHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBConnectionHandler.java?rev=1743193&r1=1743192&r2=1743193&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBConnectionHandler.java (original)
+++ jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBConnectionHandler.java Tue May 10 14:18:45 2016
@@ -19,9 +19,7 @@ package org.apache.jackrabbit.oak.plugin
 import java.io.Closeable;
 import java.io.IOException;
 import java.sql.Connection;
-import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.sql.Statement;
 
 import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
@@ -59,7 +57,7 @@ public class RDBConnectionHandler implem
      * Obtain a {@link Connection} suitable for read-only operations.
      */
     public @Nonnull Connection getROConnection() throws SQLException {
-        Connection c = getDataSource().getConnection();
+        Connection c = getConnection();
         c.setAutoCommit(false);
         setReadOnly(c, true);
         return c;
@@ -69,7 +67,7 @@ public class RDBConnectionHandler implem
      * Obtain a {@link Connection} suitable for read-write operations.
      */
     public @Nonnull Connection getRWConnection() throws SQLException {
-        Connection c = getDataSource().getConnection();
+        Connection c = getConnection();
         c.setAutoCommit(false);
         setReadOnly(c, false);
         return c;
@@ -143,6 +141,19 @@ public class RDBConnectionHandler implem
         return result;
     }
 
+    @Nonnull
+    private Connection getConnection() throws IllegalStateException, SQLException {
+        long ts = System.currentTimeMillis();
+        Connection c = getDataSource().getConnection();
+        if (LOG.isDebugEnabled()) {
+            long elapsed = System.currentTimeMillis() - ts;
+            if (elapsed >= 100) {
+                LOG.debug("Obtaining a new connection from " + this.ds + " took " + elapsed + "ms");
+            }
+        }
+        return c;
+    }
+
     // workaround for broken connection wrappers
     // see https://issues.apache.org/jira/browse/OAK-2918