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

ReadExecutor cannot upgrade digest to data request

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Low
    • Resolution: Unresolved
    • Fix Version/s: None
    • Labels:
      None

      Description

      ReadExecutor cannot send a request to any node it has already contacted, as the accounting cannot handle multiple responses from the same host. In fact, any bug wherein a host somehow responded twice anyway would lead to a consistency level breakage.

      The main problem incurred here is that if we receive no data response, we may not be able to speculate to obtain another one, particularly if only transient replicas remain to be contacted. We might also be able to avoid speculating two data requests in ‘always’ speculating, also, as presumably this was to ensure the same problem was not encountered (wherein by ‘always’ speculating upfront, we could not recover from our only data response not arriving).

      Ideally, we would maintain a map of endpoint->responses, and simply use the ‘best’ response we have for each endpoint, and only count the first response towards our consistency counter.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              benedict Benedict Elliott Smith
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: