palantir / atlasdb

Transactional Distributed Database Layer
https://palantir.github.io/atlasdb/
Apache License 2.0
46 stars 7 forks source link

JDBI connections are not retried #6027

Open gsheasby opened 2 years ago

gsheasby commented 2 years ago

We get exceptions of the form:

org.jdbi.v3.core.ConnectionException: {throwable0_message}
    at org.jdbi.v3.core.Jdbi.open(Jdbi.java:318)
    at org.jdbi.v3.core.LazyHandleSupplier.initHandle(LazyHandleSupplier.java:65)
    at org.jdbi.v3.core.LazyHandleSupplier.getHandle(LazyHandleSupplier.java:53)
    at org.jdbi.v3.sqlobject.statement.internal.CustomizingStatementHandler.invoke(CustomizingStatementHandler.java:146)
    at org.jdbi.v3.sqlobject.statement.internal.SqlUpdateHandler.invoke(SqlUpdateHandler.java:31)
    at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.lambda$invoke$0(SqlObjectInitData.java:125)
    at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
    at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
    at org.jdbi.v3.core.LazyHandleSupplier.lambda$invokeInContext$1(LazyHandleSupplier.java:77)
    at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
    at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
    at org.jdbi.v3.core.LazyHandleSupplier.invokeInContext(LazyHandleSupplier.java:76)
    at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.call(SqlObjectInitData.java:131)
    at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.invoke(SqlObjectInitData.java:125)
    at org.jdbi.v3.sqlobject.SqlObjectFactory.lambda$attach$2(SqlObjectFactory.java:110)
    at jdk.proxy2.$Proxy129.writeRound(Unknown Source)
    at com.palantir.paxos.SqlitePaxosStateLog.lambda$writeRound$0(SqlitePaxosStateLog.java:61)
    at org.jdbi.v3.core.Jdbi.callWithExtension(Jdbi.java:475)
    at org.jdbi.v3.core.Jdbi.withExtension(Jdbi.java:462)
    at com.palantir.paxos.SqlitePaxosStateLog.execute(SqlitePaxosStateLog.java:99)
    at com.palantir.paxos.SqlitePaxosStateLog.writeRound(SqlitePaxosStateLog.java:61)
    at com.palantir.paxos.SplittingPaxosStateLog.writeRound(SplittingPaxosStateLog.java:111)
    at com.palantir.paxos.PaxosLearnerImpl.learn(PaxosLearnerImpl.java:77)
    at jdk.internal.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
(snip)
Caused by: java.sql.SQLTransientConnectionException: {throwable1_message}
    at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:696)
    at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:181)
    at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:146)
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
    at org.jdbi.v3.core.Jdbi.open(Jdbi.java:303)
    ... 80 more
SoulPancake commented 1 year ago

@gsheasby Can you provide reproduction steps?