GriefLogger

GriefLogger

54.6k Downloads

Accidental database disconnection

robotter112 opened this issue ยท 1 comments

commented

Minecraft: 1.20.1
Fabric: 0.15.7
Mod: 1.1.4

I restart the server every day and at some point during the day the connection to the database breaks down.

at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:150) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:166) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.protocol.a.NativeProtocol.send(NativeProtocol.java:629) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:684) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1052) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:657) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:893) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1061) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1009) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1320) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:994) ~[grieflogger-1.1.4-fabric.jar:?]
at com.daqem.grieflogger.database.Database.executeStatements(Database.java:97) ~[grieflogger-1.1.4-fabric.jar:?]
at com.daqem.grieflogger.database.queue.Queue.execute(Queue.java:33) ~[grieflogger-1.1.4-fabric.jar:?]
at com.daqem.grieflogger.event.TickEvents.lambda$registerEvents$1(TickEvents.java:29) ~[grieflogger-1.1.4-fabric.jar:?]
... 4 more
Caused by: java.net.SocketException: Connection reset by peer
at sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:418) ~[?:?]
at sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:438) ~[?:?]
at sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:817) ~[?:?]
at java.net.Socket$SocketOutputStream.write(Socket.java:1120) ~[?:?]
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:125) ~[?:?]
at java.io.BufferedOutputStream.implFlush(BufferedOutputStream.java:252) ~[?:?]
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:240) ~[?:?]
at com.mysql.cj.protocol.a.SimplePacketSender.send(SimplePacketSender.java:55) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.protocol.a.TimeTrackingPacketSender.send(TimeTrackingPacketSender.java:50) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.protocol.a.NativeProtocol.send(NativeProtocol.java:620) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:684) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1052) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:657) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:893) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1061) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1009) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1320) ~[grieflogger-1.1.4-fabric.jar:?]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:994) ~[grieflogger-1.1.4-fabric.jar:?]
at com.daqem.grieflogger.database.Database.executeStatements(Database.java:97) ~[grieflogger-1.1.4-fabric.jar:?]
at com.daqem.grieflogger.database.queue.Queue.execute(Queue.java:33) ~[grieflogger-1.1.4-fabric.jar:?]
at com.daqem.grieflogger.event.TickEvents.lambda$registerEvents$1(TickEvents.java:29) ~[grieflogger-1.1.4-fabric.jar:?]
... 4 more
commented

I have noticed that when there is no activity on the server, the behavior you describe occurs. I personally use MariaDB. The SQL server closes connections after N time if they do not respond. It is best to check this value for yourself and always restart the server before the timeout.
It would be best if GL sends a hello packet to the database every hour so that there is activity.