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

Internode messaging connection setup between 4.0 and legacy SSL 3.0 fails if initial connection version incorrect

    XMLWordPrintableJSON

    Details

    • Bug Category:
      Availability - Unavailable
    • Severity:
      Normal
    • Complexity:
      Low Hanging Fruit
    • Discovered By:
      Adhoc Test
    • Platform:
      All
    • Impacts:
      None
    • Since Version:
    • Test and Documentation Plan:
      Hide

      Reproduced in ConnectionTest. testPendingOutboundConnectionUpdatesMessageVersionOnReconnectAttempt and checked the fix.

      Show
      Reproduced in ConnectionTest. testPendingOutboundConnectionUpdatesMessageVersionOnReconnectAttempt and checked the fix.

      Description

      This was discovered while testing upgrading an SSL enabled cluster from 3.0 to 4.0. The 3.0 cluster was configured to only listen on the ssl storage port. When the upgraded 4.0 node started it received a gossip messsage that triggered a shadow round before it had correctly set the messaging versions for the other endpoints.

      Sending the message created the connection, but because the endpoint defaulted to VERSION_40 the initial connect attempt was to the regular storage_port. The 3.0 node was only listening on the ssl_storage_port, so the connection was refused and the OutboundConnection.onFailure handler was called. As the shadow
      gossip round had queued up a message, the hasPending branch was followed and the connection was rescheduled, however the port is never recalculated as the original settings are used so it always fails.

      Meanwhile, the node discovered information about peers through inbound connection and gossip updating the messaging version for the endpoint which could have been used to make a valid connection.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jmeredithco Jon Meredith
                Reporter:
                jmeredithco Jon Meredith
                Authors:
                Andy Tolbert, Jon Meredith
                Reviewers:
                Aleksey Yeschenko
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h