[ https://issues.apache.org/jira/browse/CASSANDRA-2918?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13068125#comment-13068125 ]
Jonathan Ellis commented on CASSANDRA-2918: ------------------------------------------- So the tl;dr is, repair doesn't flush before computing the trees. I think the reasoning is, on any reasonably busy system a single memtable's worth of out-of-syncness is fine to ignore, until next repair when it will presumably have been flushed. But it seems to me this could actually contribute to the kinds of problem we have in CASSANDRA-2816: if a memtable's updates are randomly distributed throughout the token range, it could pollute a relatively high number of hash blocks. Maybe we should revisit that decision? > After repair, missing rows from query if you don't flush other replicas > ----------------------------------------------------------------------- > > Key: CASSANDRA-2918 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2918 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 0.8.2 > Environment: Cassandra-0.8 branch @ 07/18 around 1pm PST. > Reporter: Cathy Daw > Assignee: Sylvain Lebresne > > *Cluster Config* > {code} > cathy1 - 50.57.114.45 - Token: 0 > cathy2 - 50.57.107.176 - Token: 56713727820156410577229101238628035242 > cathy3 - 50.57.114.39 - Token: 113427455640312821154458202477256070484 > {code} > *+2) Kill cathy3: 50.57.114.39+* > {code} > root@cathy2:~/cass-0.8/bin# ./nodetool -h localhost ring > Address DC Rack Status State Load Owns > Token > > 113427455640312821154458202477256070484 > 50.57.114.45 datacenter1 rack1 Up Normal 59.84 KB 33.33% > 0 > 50.57.107.176 datacenter1 rack1 Up Normal 59.85 KB 33.33% > 56713727820156410577229101238628035242 > 50.57.114.39 datacenter1 rack1 Down Normal 59.85 KB 33.33% > 113427455640312821154458202477256070484 > {code} > *+3) Run java stress tool+* > {code} > ./bin/stress -o insert -n 1000 -c 10 -l 3 -e QUORUM -d > 50.57.114.45,50.57.107.176 > {code} > *+4) Start Cassandra on cathy3+* > *+5) Run repair on cathy3+* > {code} > nodetool -h cathy3 repair Keyspace1 Standard1 > {code} > *+6) Kill cathy1 and cathy2+* > {code} > root@cathy3:~/cass-0.8/bin# ./nodetool -h cathy3 ring > Address DC Rack Status State Load Owns > Token > > 113427455640312821154458202477256070484 > 50.57.114.45 datacenter1 rack1 Down Normal 105.46 KB 33.33% > 0 > 50.57.107.176 datacenter1 rack1 Down Normal 106 KB 33.33% > 56713727820156410577229101238628035242 > 50.57.114.39 datacenter1 rack1 Up Normal 331.33 KB 33.33% > 113427455640312821154458202477256070484 > {code} > *+7) Log into cassandra-cli on cathy3 - expect 1000 rows returned+* > {code} > [default@Keyspace1] consistencylevel as ONE; > Consistency level is set to 'ONE'. > [default@Keyspace1] list Standard1 limit 2000; > ..... > 323 Rows Returned. > {code} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira