You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Alexey Burylov (JIRA)" <ji...@apache.org> on 2015/08/27 13:18:45 UTC

[jira] [Created] (CASSANDRA-10206) Incorrect handling of end-of stream leading to infinite loop

Alexey Burylov created CASSANDRA-10206:
------------------------------------------

             Summary: Incorrect handling of end-of stream leading to infinite loop
                 Key: CASSANDRA-10206
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10206
             Project: Cassandra
          Issue Type: Bug
          Components: Core
         Environment: cassndra 2.1.8 12 nodes cluster in two DC, with enabled ssl encryption.
            Reporter: Alexey Burylov
         Attachments: threaddump-1440601628223.tdump, threaddump-1440672821181.tdump

StreamMessage.deserialize (StreamMessage.java:63) function return null when receive end of stream for ReadableByteChannel.read () function. IncomingMessageHandler.run (ConnectionHandler.java:257) interpreting null - as unsupported message and ignore it. It resulting infinite loop when IncomingMessageHandler try to read message from closed steram, and deserialize always return null - to indicate close stream.

It not happen on normal socket, because when normal socket closed it throw IOException. But happen from time to time when iner-node ssl encryption enabled.

I'm attach two tread dump from one node with two infinity lopped thread with id 614 and 583



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)