Failed to read message [msg=o.a.i.i.processors.odbc.ClientMessage@23d87738,
- Dominant language
- Java
- Stars
- 5.1k
- Forks
- 1.9k
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
```
2024-07-07 10:40:42.028 ERROR [:] - Failed to read message [msg=o.a.i.i.processors.odbc.ClientMessage@23d87738, buf=java.nio.DirectByteBuffer[pos=4 lim=9 cap=117708], ses=GridSelectorNioSessionImpl [worker=DirectNioClientWorker [super=AbstractNioClientWorker [idx=0, bytesRcvd=9, bytesSent=0, bytesRcvd0=9, bytesSent0=0, select=true, super=GridWorker [name=grid-nio-worker-client-listener-0, igniteInstanceName=null, finished=false, heartbeatTs=1720320042010, hashCode=1591373553, interrupted=false, runner=grid-nio-worker-client-listener-0-#30]]], writeBuf=java.nio.DirectByteBuffer[pos=0 lim=43520 cap=43520], readBuf=java.nio.DirectByteBuffer[pos=4 lim=9 cap=117708], inRecovery=null, outRecovery=null, closeSocket=true, outboundMessagesQueueSizeMetric=o.a.i.i.processors.metric.impl.LongAdderMetric@63a61cb2, super=GridNioSessionImpl [locAddr=/172.31.21.109:10800, rmtAddr=/178.211.139.7:54426, createTime=1720320042010, closeTime=0, bytesSent=0, bytesRcvd=9, bytesSent0=0, bytesRcvd0=9, sndSchedTime=1720320042010, lastSndTime=1720320042010, lastRcvTime=1720320042010, readsPaused=false, filterChain=FilterChain[filters=[GridNioAsyncNotifyFilter, GridNioCodecFilter [parser=ClientListenerNioMessageParser, directMode=true]], accepted=true, markedForClose=false]]]
java.io.IOException: Message size must be greater than 0: -1157562108
at org.apache.ignite.internal.processors.odbc.ClientMessage.readFrom(ClientMessage.java:155) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.processors.odbc.ClientListenerNioMessageParser.decode(ClientListenerNioMessageParser.java:66) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:113) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:3753) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:175) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processRead(GridNioServer.java:1379) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2527) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2282) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1911) ~[ignite-core-2.16.0.jar:2.16.0]
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) ~[ignite-core-2.16.0.jar:2.16.0]
at java.lang.Thread.run(Unknown Source) ~[?:?]
```
Contributor guide
Research direction
Start with org.apache.ignite.internal.processors.odbc.ClientMessage.java:155 and follow ClientListenerNioMessageParser.decode in ClientListenerNioMessageParser.java:66. Use the reported nine-byte buffer and negative message size as the starting case, then determine the cause and define a reproducible regression test; done means the failure is explained and covered by a test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100