Description
We have promoted our codebase from 2.1.0 to 2.1.3 and some clients started reporting corrupted byte buffer since they weren't able to decode it.
Bisecting the issue leads to a change introduced in 2.1.1
Bisecting the code lead to this code change:
if (!(encodedMessage instanceof IoBuffer) || ((IoBuffer) encodedMessage).hasRemaining()) { - SocketAddress destination = writeRequest.getDestination(); - WriteRequest encodedWriteRequest = new EncodedWriteRequest(encodedMessage, null, destination); + writeRequest.setMessage(encodedMessage); - nextFilter.filterWrite(session, encodedWriteRequest); + nextFilter.filterWrite(session, writeRequest); }
Reverting this change in 2.1.3 showed this resolve the issue.