You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (Jira)" <ji...@apache.org> on 2020/07/07 08:29:00 UTC

[jira] [Commented] (CASSANDRA-15924) Avoid emitting empty range tombstones from RangeTombstoneList

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

Sylvain Lebresne commented on CASSANDRA-15924:
----------------------------------------------

Left a minor comment on github for making operators priority explicit in the 2nd commit, but lgtm otherwise, +1. 

> 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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org