When using TCP and NIO, an assembler thread can stuck in infinite loop in the getNextBuffer() method of ChannelInputStream. It can get out of the loop only when the client sends another message or the socket is closed. It happens if the convert() method is called before the writingToPipe flag is cleared but after all data in channelInputStream was read. Sorry, no test cases, because it happens randomly and only under heavy load. I'll create a pull request.
John Anderson opened INT-3453 and commented
When using TCP and NIO, an assembler thread can stuck in infinite loop in the
getNextBuffer()
method ofChannelInputStream
. It can get out of the loop only when the client sends another message or the socket is closed. It happens if theconvert()
method is called before thewritingToPipe
flag is cleared but after all data inchannelInputStream
was read. Sorry, no test cases, because it happens randomly and only under heavy load. I'll create a pull request.Affects: 3.0.3, 4.0.2
Referenced from: pull request #1185
Backported to: 3.0.4
The text was updated successfully, but these errors were encountered: