Closed ostermine closed 2 years ago
The hikaricp connection pool thread was shutdown for some reason 🤔 I'm a bit unsure why - does this occur every time?
I have no idea -_- , i bought VPS from OVH on ubuntu 18, installed MySQL, created username, password and DB for Plan, tried to log in with login;pass in console, all was succesfully. And then, i started waterfall with Plan, and appeared this error.
Somebody on discord had this and it seemed to be related to Plan reloads, still investigating further.
I have this (apparently same) issue running
#483
7c2a4fb892 - Last occurred: 2022-04-08 Occurrences: 1
---- Context 1 ----
Plan v5.4 build 1583
BungeeCord git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:ba3bbcc:483
Server vgit:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:ba3bbcc:483
Error code: 0
SELECT * FROM plan_cookies JOIN plan_security on plan_cookies.web_username=plan_security.username LEFT JOIN plan_users on linked_to_uuid=uuid WHERE expires>?
Unknown SQL Error code
---- Stacktrace ----
com.djrapitops.plan.exceptions.database.DBOpException: SQL Failure: Plan Connection Pool-1 - Interrupted during connection acquisition
com.djrapitops.plan.exceptions.database.DBOpException.forCause(DBOpException.java:135)
com.djrapitops.plan.storage.database.queries.QueryStatement.executeQuery(QueryStatement.java:54)
com.djrapitops.plan.storage.database.SQLDB.query(SQLDB.java:303)
com.djrapitops.plan.delivery.webserver.auth.ActiveCookieStore.loadActiveCookies(ActiveCookieStore.java:84)
com.djrapitops.plan.processing.Processing.lambda$submitNonCritical$1(Processing.java:78)
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base/java.lang.Thread.run(Thread.java:833)
Caused by:
java.sql.SQLException: Plan Connection Pool-1 - Interrupted during connection acquisition
plan.com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:201)
plan.com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162)
plan.com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
com.djrapitops.plan.storage.database.MySQLDB.getConnection(MySQLDB.java:170)
com.djrapitops.plan.storage.database.queries.QueryStatement.executeQuery(QueryStatement.java:51)
com.djrapitops.plan.storage.database.SQLDB.query(SQLDB.java:303)
com.djrapitops.plan.delivery.webserver.auth.ActiveCookieStore.loadActiveCookies(ActiveCookieStore.java:84)
com.djrapitops.plan.processing.Processing.lambda$submitNonCritical$1(Processing.java:78)
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base/java.lang.Thread.run(Thread.java:833)
Caused by:
java.lang.InterruptedException
java.base/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:906)
plan.com.zaxxer.hikari.util.ConcurrentBag.borrow(ConcurrentBag.java:151)
plan.com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:180)
plan.com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162)
plan.com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
com.djrapitops.plan.storage.database.MySQLDB.getConnection(MySQLDB.java:170)
com.djrapitops.plan.storage.database.queries.QueryStatement.executeQuery(QueryStatement.java:51)
com.djrapitops.plan.storage.database.SQLDB.query(SQLDB.java:303)
com.djrapitops.plan.delivery.webserver.auth.ActiveCookieStore.loadActiveCookies(ActiveCookieStore.java:84)
com.djrapitops.plan.processing.Processing.lambda$submitNonCritical$1(Processing.java:78)
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base/java.lang.Thread.run(Thread.java:833)
This is a fresh installation with an empty database. Plan successfully created the tables, but none have any entries.
I have full root access to the Server running the lxd-containers, where the mariadb and the waterfall/bungeecord is running in. And I'm willing to assist in debugging
Does it occur every time or only on first run?
Root cause: Long running query/transaction that is holding all the connections https://github.com/brettwooldridge/HikariCP/issues/976
Yes it's occuring everytime instantly (as in "before full startup even finishes and within a second") on startup. But I just found a fix:
Changing Server.IP
from 0.0.0.0
to 10.1.1.103
(the IP of the only network adapter) resolved this ... I have no idea, why this is in any way related to the Database-Connection
Ah the setup was not complete 🤔 https://github.com/plan-player-analytics/Plan/wiki/Bungee-Set-Up#step-1-install
Could you send the full console log for Plan from the time when this error occurred
I see yep, the connection pool closed due to plugin disable but a query tried to execute anyway.
Thanks this has been very useful for figuring out how to deal with this exception
Describe the issue
Using WaterfallMC git:cmd_alert:1.18-R0.1-SNAPSHOT, using MySQL, error on start server, on connect to DB
com.djrapitops.plan.exceptions.database.DBOpException: SQL Failure: Plan Connection Pool-1 - Interrupted during connection acquisition
Exceptions & other logs
Plugin versions
Plan-5.4-build-1516
Additional information
No response