Errors on first startup
manuelgu opened this issue ยท 20 comments
Version 5.10.1
Exact same setup and errors as described in #488 and this is still a thing even with leakDetection
set to 0. Server runs in a docker container and after a restart everything is fine again.
Leak detection will throw exceptions when queries take too long. The issue described in #488 was due to connections timing out.
I know of Docker but only used it a couple of times. Are your minecraft containers bundled with MySQL, or is it ran as a separate container?
Full error http://pastebin.com/raw/erYquzYh
I've seen "apparent connection leak" messages before, however they didn't appear every time and might be fixed now.
Mysql runs in a different container than the minecraft server
I'm afraid I'm not sure what the issue would be in the plugin itself, let alone what I could do to fix it on this end. BM is simply using a connection pool backed by JDBC. I'll happily re-open this if there is anything I can do to fix it.
A quick search shows quite a few others with similar issues on Stackoverflow. Have you taken a look at those?
I definitely have more servers added to the pool than the number of maxConnections
in the config. Why do you limit it to 30?
This change was introduced AFAIK after couple of stupid users increased the connection limits to useless high values and complained that bm did not work properly.
I definitely have more than 30 servers connected to the BanManager database. How would I properly manage the pool then?
This should not be an issue at all. maxConnections value is the number of connections each of your Minecraft instances running BM may open to your database server. So if you have 20 servers running bm and each opens all 30 connections your database server has to handle 600 connections. For a mysql usually no big deal.
This also happens on random occasions when a banned player tries to connect. Server is hanging for the time the exceptions are being thrown.
Yes, but these errors also occur when there are no backups being made at the time
Okay, that rules out a couple of things.
Can you try the latest developer build?
http://ci.frostcast.net/job/BanManager/
The only major change to worry about is the bmactivity command permission change.
If it's still an issue after that, would it be possible for you to enable debug within the config.yml, and send over the dump after it's occurred? Warning, it'll be incredibly noisy. If there's anything sensitive within it, either mask or email it over.
There's something funky going on, and this only became an issue since moving over to ORMLite.
Are you using Maria or MySQL? What's your connection timeout set to on the database?
Only change I'm seeing after upgrading is
Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.
changed to
Caused by: java.sql.SQLTransientConnectionException: bm-local - Connection is not available, request timed out after 30000ms.
Will enable debug mode and send you some logs over.
There was some interesting data in the logs. Looks like syncing tasks were overlapping. Fixed in the latest dev build. I've also optimised some of the startup queries as well.
Can you try build 100 please?
That indeed fixed the issue. No stacktraces whatsoever in the last hours! Will keep you informed if there are issues running it on the entire network for a couple of days ๐
Any further issues @manuelgu ?