Description:
i had similar problems with earlier:
https://bugs.mysql.com/bug.php?id=99708
after that bug was fixed and released i successfully removed &xdevapi.compression=DISABLED from connection url,
but i found out, that problems are back (not that often, 2 or 3 times a day).
com.mysql.cj.exceptions.CJCommunicationsException: Cannot read packet header
com.mysql.cj.exceptions.CJCommunicationsException: Cannot read packet header
at com.mysql.cj.protocol.x.SyncMessageReader.readHeaderLocal(SyncMessageReader.java:142) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.protocol.x.SyncMessageReader.readHeader(SyncMessageReader.java:90) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.protocol.x.SyncMessageReader.readHeader(SyncMessageReader.java:60) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.protocol.x.XProtocol.readQueryResult(XProtocol.java:631) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.protocol.x.XProtocol.query(XProtocol.java:885) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.MysqlxSession.query(MysqlxSession.java:170) ~[mysql-connector-java-8.0.25.jar:?]
at com.mysql.cj.xdevapi.SessionImpl.rollback(SessionImpl.java:141) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at de.k2interactive.qeep.messaging.MessageXApiImpl.deleteConversationInternal(MessageXApiImpl.java:886) ~[qeep-messaging-55.jar:?]
at de.k2interactive.qeep.messaging.MessageXApiImpl.deleteConversation(MessageXApiImpl.java:813) ~[qeep-messaging-55.jar:?]
at de.k2interactive.qeep.match.ContactDaoServiceImpl.deleteContactAndConversation(ContactDaoServiceImpl.java:383) ~[qeep-match-55.jar:?]
at de.k2interactive.qeep.match.ContactDaoServiceImpl.unmatch(ContactDaoServiceImpl.java:355) ~[qeep-match-55.jar:?]
...
Caused by: java.io.EOFException
at com.mysql.cj.protocol.x.CompressionSplittedInputStream.readFully(CompressionSplittedInputStream.java:350) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.protocol.x.CompressionSplittedInputStream.readFully(CompressionSplittedInputStream.java:322) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.protocol.x.CompressionSplittedInputStream.peekNextFrame(CompressionSplittedInputStream.java:191) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.protocol.x.CompressionSplittedInputStream.read(CompressionSplittedInputStream.java:147) ~[mysql-connector-java-8.0.25.jar:8.0.25]
at java.io.FilterInputStream.read(Unknown Source) ~[?:?]
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) ~[mysql-connector-java-8.0.25.jar:?]
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:53) ~[mysql-connector-java-8.0.25.jar:?]
at com.mysql.cj.protocol.x.SyncMessageReader.readHeaderLocal(SyncMessageReader.java:137) ~[mysql-connector-java-8.0.25.jar:8.0.25]
... 60 more
How to repeat:
the highest chance to get the error is:
ms(s).remove("_id in (" + StringUtil.join(quotedMsgIds) + ")").execute();
with a large number of Ids (normally we delete in chunks of 700-1000 ids, to keep time <250ms).
Suggested fix:
with xdevapi.compression=DISABLED exception never occurs. suggested fix is to change default to disabled until it is really stable.