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

Avoid emitting empty range tombstones from RangeTombstoneList

    XMLWordPrintableJSON

Details

    Description

      In RangeTombstoneList#iterator there is a chance we emit empty range tombstones depending on the slice passed in. This can happen during read repair with either an empty slice or with paging and the final page being empty.

      This creates problems in RTL if we try to insert a new range tombstone which covers the empty ones;

      Caused by: java.lang.AssertionError
      	at org.apache.cassandra.db.RangeTombstoneList.insertFrom(RangeTombstoneList.java:541)
      	at org.apache.cassandra.db.RangeTombstoneList.addAll(RangeTombstoneList.java:217)
      	at org.apache.cassandra.db.MutableDeletionInfo.add(MutableDeletionInfo.java:141)
      	at org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:137)
      	at org.apache.cassandra.db.Memtable.put(Memtable.java:254)
      	at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1210)
      	at org.apache.cassandra.db.Keyspace.applyInternal(Keyspace.java:573)
      	at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:421)
      	at org.apache.cassandra.db.Mutation.apply(Mutation.java:210)
      	at org.apache.cassandra.db.Mutation.apply(Mutation.java:215)
      	at org.apache.cassandra.db.Mutation.apply(Mutation.java:224)
      	at org.apache.cassandra.cql3.statements.ModificationStatement.executeInternalWithoutCondition(ModificationStatement.java:582)
      	at org.apache.cassandra.cql3.statements.ModificationStatement.executeInternal(ModificationStatement.java:572)
      

      Attachments

        Activity

          People

            marcuse Marcus Eriksson
            marcuse Marcus Eriksson
            Marcus Eriksson
            Alex Petrov, Marcus Eriksson, Sylvain Lebresne
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: