[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=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: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[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=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-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org