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)