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

Partition level deletions past GCGS are not propagated/merged on read

    XMLWordPrintableJSON

    Details

    • Severity:
      Low

      Description

      So as Jay Zhuang mentioned on the mailing list here, it appears that partition deletions that have passed GCGS are not propagated/merged properly on read, and also not repaired via read repair.

      Steps to reproduce:

      create keyspace test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};
      create table test.test (id int PRIMARY KEY , data text) WITH gc_grace_seconds = 10;
      CONSISTENCY ALL;
      INSERT INTO test.test (id, data) values (1, 'test');
      ccm node2 stop
      CONSISTENCY QUORUM;
      DELETE from test.test where id = 1; // wait 10 seconds so HH doesn't propagate tombstone when starting node2
      select * from test.test where id = 1 ;
       id | data
      ----+------
      
      (0 rows)
      ccm node2 start
      CONSISTENCY ALL;
      select * from test.test where id = 1 ;
       id | data
      ----+------
        1 | test
      
      alter table test.test WITH gc_grace_seconds = 100000; // GC
      select * from test.test where id = 1 ;
      
       id | data
      ----+------
      
      (0 rows)
      

      We've also found a seemingly related issue in compaction where trying to compact an SSTable which contains the partition deletion post GCGS, the partition deletion won't be removed via compaction. Likely the same code is causing both bugs.

        Attachments

          Activity

            People

            • Assignee:
              KurtG Kurt Greaves
              Reporter:
              KurtG Kurt Greaves
              Authors:
              Kurt Greaves
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated: