From 24d0d82701eb183460fd48092b1c504471dcfb97 Mon Sep 17 00:00:00 2001 From: "Roger.Chen" Date: Wed, 28 Oct 2020 09:33:41 +0800 Subject: [PATCH] =?UTF-8?q?BI-74885=20fix:=20clickhouse=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E5=87=BA=E9=94=99=E6=97=B6=E4=B8=80=E7=9B=B4?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alibaba/druid/pool/DruidDataSource.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java b/fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java index 31e47f25d..4cba25d96 100644 --- a/fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java +++ b/fine-druid/src/main/java/com/fr/third/alibaba/druid/pool/DruidDataSource.java @@ -2164,10 +2164,13 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat try { connection = createPhysicalConnection(); setFailContinuous(false); - } catch (SQLException e) { - LOG.error("create connection error, url: " + jdbcUrl + ", errorCode " + e.getErrorCode() - + ", state " + e.getSQLState(), e); - + } catch (SQLException | RuntimeException e) { + if (e instanceof SQLException) { + LOG.error("create connection error, url: " + jdbcUrl + ", errorCode " + ((SQLException)e).getErrorCode() + + ", state " + ((SQLException)e).getSQLState(), e); + } else { + LOG.error("create connection error", e); + } errorCount++; if (errorCount > connectionErrorRetryAttempts && timeBetweenConnectErrorMillis > 0) { // fail over retry attempts @@ -2193,11 +2196,6 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat DruidDataSource.this.doSomethingBeforeCreationThreadBreak(); break; } - } catch (Exception e) { - LOG.error("create connection error", e); - setFailContinuous(true); - DruidDataSource.this.doSomethingBeforeCreationThreadBreak(); - break; } catch (Error e) { LOG.error("create connection error", e); setFailContinuous(true);