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

Fix range scans for table with live static rows

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 3.0.9, 3.8
    • Component/s: CQL
    • Labels:
      None
    • Flags:
      Patch, Important
    • Reproduced In:

      Description

      We were seeing some weird behaviour with limit based scan queries. In particular, we see the following:

      $ cqlsh -k sd -e "consistency local_quorum; SELECT uuid, token(uuid) FROM files WHERE token(uuid) >= token('6b470c3e43ee06d1') limit 2"
      Consistency level set to LOCAL_QUORUM.
      
       uuid             | system.token(uuid)
      ------------------+----------------------
       6b470c3e43ee06d1 | -9218823070349964862
       484b091ca97803cd | -8954822859271125729
      
      (2 rows)
      $ cqlsh -k sd -e "consistency local_quorum; SELECT uuid, token(uuid) FROM files WHERE token(uuid) > token('6b470c3e43ee06d1') limit 1"
      Consistency level set to LOCAL_QUORUM.
      
       uuid             | system.token(uuid)
      ------------------+----------------------
       c348aaec2f1e4b85 | -9218781105444826588
      

      In the table uuid is partition key, and it has a clustering key as well.
      So the uuid "c348aaec2f1e4b85" should be the second one in the limit query. After some investigation, it seems to me like the issue is in the way DataLimits handles static rows. Here is a patch for trunk (https://github.com/sharvanath/cassandra/commit/9a460d40e55bd7e3604d987ed4df5c8c2e03ffdc) which seems to fix it for me. Please take a look, seems like a pretty critical issue to me.

      I have forked the dtests for it as well. However, since trunk has some failures already, I'm not fully sure how to infer the results.
      http://cassci.datastax.com/view/Dev/view/sharvanath/job/sharvanath-fixScan-dtest/
      http://cassci.datastax.com/view/Dev/view/sharvanath/job/sharvanath-fixScan-testall/

        Attachments

        1. repro
          3 kB
          Sharvanath Pathak
        2. 12107-3.0.txt
          3 kB
          Benjamin Lerer

          Activity

            People

            • Assignee:
              sharvanath Sharvanath Pathak
              Reporter:
              sharvanath Sharvanath Pathak
              Reviewer:
              Benjamin Lerer
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: