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

Reading dense table yields invalid results in case of row scan queries

    XMLWordPrintableJSON

Details

    Description

      ThriftIntegrationTest is broken in the way that it does not actually test reads before and after flushing, because it does not do flush at all (see https://github.com/apache/cassandra/blob/cassandra-3.11/test/unit/org/apache/cassandra/cql3/validation/ThriftIntegrationTest.java#L939). After fixing that method so that it really flushes memtables to disk, we can see inconsistency in reads from dense table - the results returned from memtable differs from the results returned from sstable (the later are wrong, cell values are skipped unexpectedly).

      java.lang.AssertionError: Invalid value for row 0 column 0 (value of type ascii), expected <value1> but got <>
      

      In principle this problems is about skipping column values when doing row scan queries with explicitly selected columns (not wildcard), when the columns belong to a super column. This happens only when reading from sstables, it does not happen when reading from memtables.

      Attachments

        Issue Links

          Activity

            People

              jlewandowski Jacek Lewandowski
              jlewandowski Jacek Lewandowski
              Jacek Lewandowski
              Sylvain Lebresne
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m