Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-10206

Incorrect handling of end-of stream leading to infinite loop in streaming session

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 2.1.10, 2.2.2, 3.0 beta 2
    • None
    • None
    • cassndra 2.1.8 12 nodes cluster in two DC, with enabled ssl encryption.

    • Normal

    Description

      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

      Attachments

        1. cassandra-2.1-10206.txt
          1 kB
          Alexey Burylov
        2. screenshot-1.png
          181 kB
          Alexey Burylov
        3. threaddump-1440601628223.tdump
          292 kB
          Alexey Burylov
        4. threaddump-1440602926719.tdump
          306 kB
          Alexey Burylov
        5. threaddump-1440672821181.tdump
          261 kB
          Alexey Burylov
        6. threaddump-1440686737505.tdump
          278 kB
          Alexey Burylov

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            a.burylov Alexey Burylov
            Yuki Morishita
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment