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

Benedict commented on CASSANDRA-9462:
-------------------------------------

I've pushed a branch 
[here|https://github.com/belliottsmith/cassandra/tree/9516] to attempt to deal 
with this, since I had a half-completed implementation from CASSANDRA-8568 
(that when I realised the scale of the problem, I decided was out of scope for 
that ticket). 

In doing so, I noticed some more problems / inconsistencies: AbstractBounds 
provides an unwrap() method, but it is a no-op unless the bound is a Range. 
This isn't at all clear, and I suspect we have been using AB with the 
assumption they could also wrap. I've inserted an assertion in bounds 
construction to ensure we never create a bound that wraps that is not a Range. 
This branch, as a result, is exploratory: whether or not CI breaks, we should 
probably remove the assertions and implement the unwrap() method, as 
introducing assertions like those could cause currently broken functionality 
not caught in tests to fail hard in the field.

Ultimately, I think I would prefer that we flatten the different AbstractBounds 
classes into one Bounds implementation for this ticket. Which probably means 
different patches for 2.1/2.2 and 3.0.

> 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
>             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