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

TimeoutException When using QuorumEach or ALL consistency on Multi-DC

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 0.8.9, 1.0.6, 1.1.0
    • None
    • None
    • JVM

    • Normal

    Description

      Currently we have
      1) StorageProxy.sendMessages() sending messages to the first node in the other DC...
      2) A node in the other DC will remove the ForwardHeader and sendRR (Adding a MessageID to the Queue).
      3) The receiving node receives the mutation, updates and sends the response to the Original Co-ordinator.
      4) Co-Ordinator now checks for the MessageID (which it never had)

      All the Quorum_Each updates fail in the co-ordinator, this issue started showing up after CASSANDRA-3472 the code was introduced in CASSANDRA-2138 .

      Simple Fix is to remove the optimization in 0.8 and fix it in 1.x because it seems to me like it needs a change to the Message service version.

      Possible Solution: We might want send the message ID's to be used by the all the nodes in other DC (Which is currently generated by the node which receives the Forward request see: (2) ).

      Attachments

        1. 0001-Mutation-Optimization-for-MultiDC.patch
          10 kB
          Vijay
        2. 0001-Mutation-Optimization-for-MultiDC-v2.patch
          10 kB
          Vijay
        3. 0001-removing-mutation-MultiDC-optimization.patch
          3 kB
          Vijay
        4. 3577.txt
          2 kB
          Jonathan Ellis
        5. 3577-v3.txt
          10 kB
          Jonathan Ellis

        Activity

          People

            vijay2win@yahoo.com Vijay
            vijay2win@yahoo.com Vijay
            Vijay
            Jonathan Ellis
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: