From fe0b8f5e5072531685150a1555d9f1482d8326b4 Mon Sep 17 00:00:00 2001 From: Tyler Benson Date: Mon, 20 Apr 2020 11:59:33 -0400 Subject: [PATCH 1/2] Extend JDBC catch to include Errors This should help resolve a situation where `getClientInfo` is not implemented and throws an `AbstractMethodError`. --- .../java/datadog/trace/instrumentation/jdbc/JDBCDecorator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/JDBCDecorator.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/JDBCDecorator.java index 13fe07ba61..f707de835b 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/JDBCDecorator.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/JDBCDecorator.java @@ -73,7 +73,7 @@ public class JDBCDecorator extends DatabaseClientDecorator { if (url != null) { try { dbInfo = JDBCConnectionUrlParser.parse(url, connection.getClientInfo()); - } catch (final Exception ex) { + } catch (final Throwable ex) { // getClientInfo is likely not allowed. dbInfo = JDBCConnectionUrlParser.parse(url, null); } From a2156fd14b8500d9e5c9c5efa9b454cf7384bd2e Mon Sep 17 00:00:00 2001 From: Tyler Benson Date: Mon, 20 Apr 2020 18:40:18 -0400 Subject: [PATCH 2/2] Update test to throw Throwable. --- .../jdbc/src/test/groovy/test/TestConnection.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dd-java-agent/instrumentation/jdbc/src/test/groovy/test/TestConnection.groovy b/dd-java-agent/instrumentation/jdbc/src/test/groovy/test/TestConnection.groovy index a52de68ef3..110c29042e 100644 --- a/dd-java-agent/instrumentation/jdbc/src/test/groovy/test/TestConnection.groovy +++ b/dd-java-agent/instrumentation/jdbc/src/test/groovy/test/TestConnection.groovy @@ -251,7 +251,7 @@ class TestConnection implements Connection { @Override Properties getClientInfo() throws SQLException { - throw new UnsupportedOperationException("Test 123") + throw new Throwable("Test 123") } @Override