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

Unbounded key range only ever scans first node in ring

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Fix Version/s: 0.6.8, 0.7.0 rc 1
    • Component/s: None
    • Labels:
      None
    • Severity:
      Normal

      Description

              List<AbstractBounds> ranges = getRestrictedRanges(new Bounds(leftToken, p.getMinimumToken()));
      

      when called with empty start key this means we have a Bounds(minToken, minToken), which hits the getRR special case

              // special case for bounds containing exactly 1 token
              if (queryRange instanceof Bounds && queryRange.left.equals(queryRange.right))
              {
                  if (logger.isDebugEnabled())
                      logger.debug("restricted single token match for query " + queryRange);
                  return Collections.singletonList(queryRange);
              }
      

      Looks like this broke as a side effect of CASSANDRA-1442. Prior to that a bounds from [T, minToken] was considered "up to infinity" by getRR so would span multiple nodes.

        Attachments

          Activity

            People

            • Assignee:
              stuhood Stu Hood
              Reporter:
              jbellis Jonathan Ellis
              Authors:
              Stu Hood
              Reviewers:
              Jonathan Ellis
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: