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

Sylvain Lebresne commented on CASSANDRA-3306:
---------------------------------------------

For patch 0002, we shouldn't check the FailureDetector otherwise we don't 
really fix the issue. The only way we know this bug can happen is wher the 
FailureDetector *had* marked a node down while it shouldn't have (besides, we 
just got something from a node so it's fair to assume it is alive).

bq. and I think the test and CollationController#collectAllData expect sstables 
to be ordered by timestamp

It doesn't seem to me that collectAllData needs sstable ordered. In fact, I 
think that it does a second pass over the sstables iterators just because it 
doesn't assume sstables are ordered by max timestamp. Moreover, I'm pretty sure 
it would be a bug to assume that. If you look at DataTracker.View.newSSTables, 
it ends by {{Iterables.addAll(newSSTables, replacements)}} which clearly won't 
maintain any specific ordering of sstables.

bq. I'm not sure if the test is obsolete.

I don't think the test is obsolete but I think we have a minor bug in 
CollationController. The test want to test that we correctly exclude sstable 
whose maxTimestamp is less than the most recent row tombstone we have. But that 
test checks controller.getSstablesIterated(), and for collectAllData, it will 
count every sstable it include in the first iteration of collectAllData but 
don't remove those that are remove by the second pass. In other words, I think 
the correct fix is to decrement stablesIterated in CollationController when in 
the second pass we remove a sstable (or more simply to set it to 
iterators.size() just before we collate everything).
                
> Error in LeveledCompactionStrategy
> ----------------------------------
>
>                 Key: CASSANDRA-3306
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3306
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.0.0
>            Reporter: Radim Kolar
>            Assignee: Yuki Morishita
>             Fix For: 1.1.7
>
>         Attachments: 0001-CASSANDRA-3306-test.patch, 
> 0001-change-DataTracker.View-s-sstables-from-List-to-Set.patch, 
> 0002-fail-stream-session-for-invalid-request.patch
>
>
> during stress testing, i always get this error making leveledcompaction 
> strategy unusable. Should be easy to reproduce - just write fast.
> ERROR [CompactionExecutor:6] 2011-10-04 15:48:52,179 
> AbstractCassandraDaemon.java (line 133) Fatal exception in thread 
> Thread[CompactionExecutor:6,5,main]
> java.lang.AssertionError
>       at 
> org.apache.cassandra.db.DataTracker$View.newSSTables(DataTracker.java:580)
>       at 
> org.apache.cassandra.db.DataTracker$View.replace(DataTracker.java:546)
>       at org.apache.cassandra.db.DataTracker.replace(DataTracker.java:268)
>       at 
> org.apache.cassandra.db.DataTracker.replaceCompactedSSTables(DataTracker.java:232)
>       at 
> org.apache.cassandra.db.ColumnFamilyStore.replaceCompactedSSTables(ColumnFamilyStore.java:960)
>       at 
> org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:199)
>       at 
> org.apache.cassandra.db.compaction.LeveledCompactionTask.execute(LeveledCompactionTask.java:47)
>       at 
> org.apache.cassandra.db.compaction.CompactionManager$1.call(CompactionManager.java:131)
>       at 
> org.apache.cassandra.db.compaction.CompactionManager$1.call(CompactionManager.java:114)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:662)
> and this is in json data for table:
> {
>   "generations" : [ {
>     "generation" : 0,
>     "members" : [ 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 
> 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484 ]
>   }, {
>     "generation" : 1,
>     "members" : [ ]
>   }, {
>     "generation" : 2,
>     "members" : [ ]
>   }, {
>     "generation" : 3,
>     "members" : [ ]
>   }, {
>     "generation" : 4,
>     "members" : [ ]
>   }, {
>     "generation" : 5,
>     "members" : [ ]
>   }, {
>     "generation" : 6,
>     "members" : [ ]
>   }, {
>     "generation" : 7,
>     "members" : [ ]
>   } ]
> }

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