Ban Management

Ban Management

193k Downloads

Errors on first startup

manuelgu opened this issue ยท 20 comments

commented

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.

commented

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?

commented

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

commented

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?

commented

I definitely have more servers added to the pool than the number of maxConnections in the config. Why do you limit it to 30?

commented

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.

commented

I definitely have more than 30 servers connected to the BanManager database. How would I properly manage the pool then?

commented

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.

commented

This also happens on random occasions when a banned player tries to connect. Server is hanging for the time the exceptions are being thrown.

commented

Yes, but these errors also occur when there are no backups being made at the time

commented

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.

commented

Are you using Maria or MySQL? What's your connection timeout set to on the database?

commented

MySQL with both wait- and interactive timeout set to 28800.

commented

Are you running any backups?

commented

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.

commented

Got an email address for me?

Sent.

commented

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?

http://ci.frostcast.net/job/BanManager/

commented

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 ๐Ÿ‘

commented

Any further issues @manuelgu ?

commented

No issues here ๐Ÿ‘ Thank you!