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

Incomplete handling of exceptions when decoding incoming messages

    XMLWordPrintableJSON

Details

    • Normal

    Description

      MessageInHandler.decode() occasionally reads the payload incorrectly, passing the full message to MessageIn.read() instead of just the payload bytes.

      You can see the stack trace in the logs from this CI run.

      Caused by: java.lang.AssertionError: null
      	at org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:351)
      	at org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:371)
      	at org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:335)
      	at org.apache.cassandra.net.MessageIn.read(MessageIn.java:158)
      	at org.apache.cassandra.net.async.MessageInHandler.decode(MessageInHandler.java:132)
      

      Reconstructed, truncated stream passed to MessageIn.read():
      0000000b000743414c5f42414301002a01e1a5c9b089fd11e8b517436ee1243007040000005d10fc50ec
      You can clearly see parameters in there encoded before the payload:
      [43414c5f424143 - CAL_BAC] [01 - ONE_BYTE] [002a - 42, payload size] 01 e1 a5 c9 b0 89 fd 11 e8 b5 17 43 6e e1 24 30 07 04 00 00 00 1d 10 fc 50 ec

      Attachments

        Activity

          People

            jasobrown Jason Brown
            aleksey Aleksey Yeschenko
            Jason Brown
            Dinesh Joshi
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: