Marcus Eriksson created CASSANDRA-15924:
-------------------------------------------
Summary: Avoid emitting empty range tombstones from
RangeTombstoneList
Key: CASSANDRA-15924
URL: https://issues.apache.org/jira/browse/CASSANDRA-15924
Project: Cassandra
Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
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;
{code}
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)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]