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

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

    XMLWordPrintableJSON

Details

    • 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

            KurtG Kurt Greaves
            KurtG Kurt Greaves
            Kurt Greaves
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated: