On Tue, Jul 28, 2015 at 1:01 PM, Yang <teddyyyy...@gmail.com> wrote:

> Thanks. but I don't think having more nodes in the example changes the
> issue I outlined.
>
> say u have just key "X", rf = 3,  nodes A, B, D are responsible for "X".
>
> in stable mode, the  updates X=1, 2, 3, goes to all 3 servers.
>
> then at this time, node C joins, bootstraps, gets the sstables from B. but
> on B, ***right after memtableswitch()***, updates X=4,5,6 arrive and update
> the new memtable (the same updates also go to A and D). then B continues to
> stream to C, and C gets its state to X=3.
>

You appear to be missing the point in my original mail : the memtable
switch is irrelevant, because C is receiving the same writes into memtables
that B is.

They're not counted for the purposes of consistency, but they are otherwise
received just as if C were a an actual replica.

Bootstrapping is two parts :

1) streaming of sstables
2) "extra" replication

Your mental model appears to ignore 2), which is why you care what flushed?
Perhaps I am still misunderstanding the scenario you are describing?

=Rob

Reply via email to