[
https://issues.apache.org/jira/browse/CASSANDRA-2641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13032298#comment-13032298
]
Sylvain Lebresne commented on CASSANDRA-2641:
---------------------------------------------
As far as I can tell, normalize() and getPositionsForRanges() are dealing
correctly with overlapping ranges, albeit arguably inefficiently. It's true
that overlapping ranges would result in streaming twice the overlapping
sections, but that's an efficiency problem, so I don't think an assert is the
solution.
We could add a pass to normalize() so that it merges intersecting ranges. But
that being said, I don't think we ever generate a list of overlapping ranges
and given what our ranges represents I see no reason why that would change.
> AbstractBounds.normalize should deal with overlapping ranges
> ------------------------------------------------------------
>
> Key: CASSANDRA-2641
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2641
> Project: Cassandra
> Issue Type: Test
> Components: Core
> Reporter: Stu Hood
> Assignee: Stu Hood
> Priority: Minor
> Fix For: 1.0
>
>
> Apparently no consumers have encountered it in production, but
> AbstractBounds.normalize does not handle overlapping ranges. If given
> overlapping ranges, the output will be sorted but still overlapping, for
> which SSTableReader.getPositionsForRanges will choose ranges in an SSTable
> that may overlap.
> We should either add an assert in normalize(), or in getPositionsForRanges()
> to ensure that this never bites us in production.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira