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

    • 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

            thobbs Tom Hobbs
            thobbs Tom Hobbs
            Tom Hobbs
            Benjamin Lerer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: