Hi Mike! Thanks for reproducer. Now I understand the problem. NIO worker reads chunks from the network and notifies the parser on data read. Parser expects chunks to be complete and has all the data to read entire message, but this is not guaranteed and single message can arrive in several chunks. Which is demostrated by your test.
The problem is inside GridRedisProtocolParser. We should add ability to store the parsing context if we do not have all the data to complete message parsing, as it is done, for example in GridBufferedParser. So, it is definitely an issue and should be fixed by adding parsing state. I see you attempted to do so in PR https://github.com/apache/ignite/pull/5044/files. I did not do a formal review, so let's ask community to review your patch. Couple of comments about your reproducer. 1. Let's dump a proper Redis message bytes sent by Jedis. 2. Let's split this dump into 5 chunks and send them with 100 ms delays. This should fail before fix is applied, and should pass with proper message parsed after we have the issue fixed. Thanks! --Yakov