[
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