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

            • Assignee:
              marcuse Marcus Eriksson
              Reporter:
              marcuse Marcus Eriksson
              Authors:
              Marcus Eriksson
              Reviewers:
              Alex Petrov, Marcus Eriksson, Sylvain Lebresne
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: