[ 
https://issues.apache.org/jira/browse/CASSANDRA-15924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17154556#comment-17154556
 ] 

Alex Petrov commented on CASSANDRA-15924:
-----------------------------------------

+1 as well. Thank you for the patch!

> Avoid emitting empty range tombstones from RangeTombstoneList
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-15924
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15924
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Consistency/Coordination
>            Reporter: Marcus Eriksson
>            Assignee: Marcus Eriksson
>            Priority: Normal
>             Fix For: 3.0.x, 3.11.x, 4.x
>
>
> 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]

Reply via email to