[ 
https://issues.apache.org/jira/browse/CASSANDRA-5757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-5757:
----------------------------------------

    Attachment: 5757.txt

The actual AssertionError is due to basically a misplaced assertion.  
DataRange.Paging don't really support wrapping ranges but is only used in 
getRangeSlice which unwraps ranges first anyway.  However repair does use 
wrapping range so DataRange itself should allow wrapping ranges.

So fixing that is trivial, but this uncover the fact that SSTableScanner is 
broken on trunk if the range is wrapping. For the records, it has initially 
been broken by CASSANDRA-4180 (after this patch, for a wrapping range, only the 
part between the start of the range and then end of ring/file was returned by 
the scanner). CASSANDRA-4415 introduced DataRange but didn't really changed the 
logic there so the bug persisted.

Attaching a patch that move the assert and fix SSTableScanner to handle 
wrapping ranges correctly.

                
> assertionError in repair
> ------------------------
>
>                 Key: CASSANDRA-5757
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5757
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0 beta 1
>            Reporter: Radim Kolar
>            Assignee: Sylvain Lebresne
>         Attachments: 5757.txt
>
>
> i increased replication factor and run repair, some token ranges were 
> repaired okay, but one failed with:
>  INFO 13:03:52,234 [repair #dd7937a0-ebab-11e2-ba07-c38e7fba9d51] session 
> completed successfully
> ERROR 13:03:52,343 Exception in thread Thread[ValidationExecutor:2,1,main]
> java.lang.AssertionError: (max(9099058114996150811),max(-5486100704702537010)]
>         at org.apache.cassandra.db.DataRange.<init>(DataRange.java:50)
>         at org.apache.cassandra.db.DataRange.forKeyRange(DataRange.java:74)
>         at 
> org.apache.cassandra.io.sstable.SSTableReader.getScanner(SSTableReade
> r.java:1033)
>         at 
> org.apache.cassandra.db.compaction.AbstractCompactionStrategy.getScan
> ners(AbstractCompactionStrategy.java:214)
>         at 
> org.apache.cassandra.db.compaction.CompactionManager$ValidationCompac
> tionIterable.<init>(CompactionManager.java:751)
>         at 
> org.apache.cassandra.db.compaction.CompactionManager.doValidationComp
> action(CompactionManager.java:657)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to