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

Ariel Weisberg commented on CASSANDRA-9462:
-------------------------------------------

JIRA just ate my response which really really sucks.

IntervalTree for (0, 0), (1,1) search for IncludingExcludingBound (0,1) returns 
a wrong answer. Benedict tried to fix it for SSTableIntervalTree by overriding 
search. I then tried to make all the tests pass with that implementation which 
lead to writing tests for the inconsistent (or maybe not, hard to tell) 
implementation of methods inside AbstractBounds and Range, making them 
consistent, and then fixing the fallout from that.

I am going to try again and see if I can just fix IntervalTree. I didn't expect 
to spend a week getting the tests passing on the original fix, but it was 
probably necessary anyways just to understand what is going on. AFAIK existing 
code works around the inconsistencies and higher level modules have some tests 
that maybe validate that they are using AbstractBounds and family correctly.

It's also possible the entire thing was a waste and we should just make 
IntervalTree reject IncludingExcludingBounds? This is kind of why I want 
someone with more context to review.



> ViewTest.sstableInBounds is failing
> -----------------------------------
>
>                 Key: CASSANDRA-9462
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9462
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Benedict
>            Assignee: Ariel Weisberg
>             Fix For: 3.x, 2.1.x, 2.2.x
>
>
> CASSANDRA-8568 introduced new tests to cover what was DataTracker 
> functionality in 2.1, and is now covered by the lifecycle package. This 
> particular test indicates this method does not fulfil the expected contract, 
> namely that more sstables are returned than should be.
> However while looking into it I noticed it also likely has a bug (which I 
> have not updated the test to cover) wherein a wrapped range will only yield 
> the portion at the end of the token range, not the beginning. It looks like 
> we may have call sites using this function that do not realise this, so it 
> could be a serious bug, especially for repair.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to