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

response to EchoMessage is sent on wrong connection

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Duplicate
    • None
    • None
    • Low

    Description

      Followup to CASSANDRA-13713. To force the EchoResponse response onto the correct stage, we should create a new message type, EchoResponseMessage, and map it appropriately in MessagingService.verbStages. Mapping the response message correctly will allow the response to be sent on the gossip connection, and then allow us to process it immediately on the gossip stage, rather the request_response stage.

      One serious problem to consider is the upgrade scenario, where the non-upgraded node expects a simple RequestResponse message that maps to a callback. If the upgraded node tries to send the new EchoResponseMessage, it will be ignored by the old node. And thus we get into some weird state where gossip can't communicate directly, even though the actual TCP connection and wrapper channel is setup correctly. (I haven't thought about all the oddball fall out that can occur as a rolling upgrade rolls out).

      Thus, due to that complexity, versus the triviality/near-zero impact of the bug (sending the response on the wrong channel is not a big deal), I feel this ticket is largely not worth bothering with. That said, I at least want to capture the problem for posterity.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jasobrown Jason Brown
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: