Investigating another problem, I needed to do COUNT on the several partitions of a table immediately after a test case ran, and I discovered that count on the full table and on each of the partitions returned different counts.
In particular case, SELECT COUNT FROM sr LIMIT 1000000; returned the expected count from the test 99999 rows. The composite primary key splits the logical row into six distinct partitions, and when I issue a query asking for the total across all six partitions, the returned result is only 83999. Drilling down, I find that SELECT * from sr WHERE s = 5 AND l = 11 AND partition = 0; returns 30,000 rows, but a SELECT COUNT with the identical WHERE predicate reports only 14,000.
This is failing immediately after running a single small test, such that there are only two SSTables, sr-jb-1 and sr-jb-2. Compaction never needed to run.
In selectrowcounts.txt is a copy of the cqlsh output showing the incorrect count results.
- is duplicated by
CASSANDRA-6826 Query returns different number of results depending on fetchsize