[
https://issues.apache.org/jira/browse/CASSANDRA-14849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667251#comment-16667251
]
Aleksey Yeschenko edited comment on CASSANDRA-14849 at 10/29/18 2:05 PM:
-------------------------------------------------------------------------
I think the patch is correct, but I have a few issues with it.
1. We are inlining a copy of {{ClusteringComparator.compare()}}, ish, into
{{Slice.isEmpty()}}. If the former changes somehow, there is a risk of
forgetting to apply the difference to the inlined version.
2. There is duplication of work. After making the regular {{compare()}} call,
we are going through the motions again in the common case.
3. There are different returns with some nesting involved that makes it a bit
trickier to follow than necessary.
I *think* essentially we are just lacking a {{cmp == 0 && one of the bounds is
exclusive}} condition, and the whole method can be simplified quite a bit
(relatively). Pushed an illustration/review branch with those issues handled
[here|https://github.com/iamaleksey/cassandra/commits/14849-review].
was (Author: iamaleksey):
I think the patch is correct, but I have a few issues with it.
1. We are inlining a copy of {{ClusteringComparator.compare()}}, ish, into
{{Slices.isEmpty()}}. If the former changes somehow, there is a risk of
forgetting to apply the difference to the inlined version.
2. There is duplication of work. After making the regular {{compare()}} call,
we are going through the motions again in the common case.
3. There are different returns with some nesting involved that makes it a bit
trickier to follow than necessary.
I *think* essentially we are just lacking a {{cmp == 0 && one of the bounds is
exclusive}} condition, and the whole method can be simplified quite a bit
(relatively). Pushed an illustration/review branch with those issues handled
[here|https://github.com/iamaleksey/cassandra/commits/14849-review].
> some empty/invalid bounds aren't caught by SelectStatement
> ----------------------------------------------------------
>
> Key: CASSANDRA-14849
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14849
> Project: Cassandra
> Issue Type: Bug
> Reporter: Blake Eggleston
> Assignee: Blake Eggleston
> Priority: Major
> Fix For: 4.0
>
>
> Nonsensical clustering bounds like "c >= 100 AND c < 100" aren't converted to
> Slices.NONE like they should be. Although this seems to be completely benign,
> it is technically incorrect and complicates some testing since it can cause
> memtables and sstables to return different results for the same data for
> these bounds in some cases.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]