[
https://issues.apache.org/jira/browse/CASSANDRA-483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Ellis updated CASSANDRA-483:
-------------------------------------
Attachment: 0002-refactor-bootstrap-to-only-concern-itself-with-bootstr.txt
0001-CASSANDRA-483-r-m-single-use-executor-in-favor-of-a-Th.txt
> clean up bootstrap code, 2
> --------------------------
>
> Key: CASSANDRA-483
> URL: https://issues.apache.org/jira/browse/CASSANDRA-483
> Project: Cassandra
> Issue Type: Improvement
> Components: Tools
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments:
> 0001-CASSANDRA-483-r-m-single-use-executor-in-favor-of-a-Th.txt,
> 0002-refactor-bootstrap-to-only-concern-itself-with-bootstr.txt
>
>
> existing bootstrap code overengineers things a bit by allowing multiple nodes
> to bootstrap into the same span of the ring simultaneously. but, this
> doesn't handle the case where one of them doesn't complete the bootstrap.
> one possible response would be to transfer that node's span to one of the
> other new nodes, but then you're no longer evenly dividing the ring.
> starting over with recomputed tokens for the remaining nodes is significantly
> complicated.
> in short I think the right solution is to handle each node independently.
> if only one node bootstraps into a ring segment at a time, nothing changes.
> but if another node bootstraps in before the first finishes, we just say
> "okay" and send them each the data they would get _if it were the only node
> bootstrapping_. So if one fails, we don't have to do any extra work. If all
> succeed, the penalty is we transferred too much to some nodes but that will
> be taken care of by the existing cleanup compaction code.
> (this does mean that we can't automatically pick tokens while a bootstrap is
> in progress, though, or it will pick the same one for both, which is
> undesireable. but saying "if you want to bootstrap multiple nodes into the
> same ring span at once, you have to manually specify the tokens" seems
> reasonable to me. (especially since that was already the case under the old
> system, if you didn't want just random tokens.)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.