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

CQL often queries static columns unnecessarily

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 3.0.11, 3.10
    • None
    • None
    • Normal

    Description

      While looking at CASSANDRA-12694 (which isn't directly related, but some of the results in this ticket are explained by this), I realized that CQL was always querying static columns even in cases where this is unnecessary.

      More precisely, for reasons long described elsewhere, we have to query all the columns for a row (we have optimizations, see CASSANDRA-10657, but they don't change that general fact) to be able to distinguish between the case where a row doesn't exist from when it exists but has no values for the columns selected by the query. However, this really only extend to "regular" columns (static columns play no role in deciding whether a particular row exists or not) but the implementation in 3.x, which is in ColumnFilter, still always query all static columns.

      We shouldn't do that and it's arguably a performance regression from 2.x. Which is why I'm tentatively marking this a bug and for the 3.0 line. It's a tiny bit scary for 3.0 though so really more asking for other opinions and I'd be happy to stick to 3.x.

      Attachments

        Issue Links

          Activity

            People

              slebresne Sylvain Lebresne
              slebresne Sylvain Lebresne
              Sylvain Lebresne
              Tom Hobbs
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: