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

Timestamp-order searching of sstables does not handle non-frozen UDTs, frozen collections correctly

    XMLWordPrintableJSON

    Details

    • Severity:
      Normal

      Description

      SinglePartitionReadCommand.queryNeitherCountersNorCollections() is used to determine whether we can search sstables in timestamp order. We cannot use this optimization when there are multicell values (such as unfrozen collections or UDTs). However, this method only checks column.type.isCollection() || column.type.isCounter(). Instead, it should check column.type.isMulticell() || column.type.isCounter().

      This has two implications:

      • We are using timestamp-order searching when querying non-frozen UDTs, which can lead to incorrect/stale results being returned.
      • We are not taking advantage of this optimization when querying frozen collections.

        Attachments

          Activity

            People

            • Assignee:
              thobbs Tom Hobbs
              Reporter:
              thobbs Tom Hobbs
              Authors:
              Tom Hobbs
              Reviewers:
              Benjamin Lerer
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: