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 2017/03/07 08:57:33 UTC
[jira] [Created] (CASSANDRA-13305) Slice.isEmpty() returns false
for some empty slices
Sylvain Lebresne created CASSANDRA-13305:
--------------------------------------------
Summary: Slice.isEmpty() returns false for some empty slices
Key: CASSANDRA-13305
URL: https://issues.apache.org/jira/browse/CASSANDRA-13305
Project: Cassandra
Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Fix For: 3.0.x, 3.11.x
{{Slice.isEmpty}} is currently defined as {{comparator.compare(end, start) < 0}} but this shouldn't be a strict inequality. Indeed, the way {{Slice.Bound}} is defined, having a start equal to an end implies a range like {{[1, 1)}}, but that range is definitively empty and something we shouldn't let in as that would break merging and other range tombstone related code.
In practice, if you can currently insert such empty range (with something like {{DELETE FROM t WHERE k = 'foo' AND i >= 1 AND i < 1}}), and that can trigger assertions in {{RangeTomstoneList}} (and possibly other problem).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)