You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jaakko Laine (JIRA)" <ji...@apache.org> on 2010/01/15 14:25:54 UTC
[jira] Commented: (CASSANDRA-673) bootstrapping does not work
properly using multiple key space
[ https://issues.apache.org/jira/browse/CASSANDRA-673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12800690#action_12800690 ]
Jaakko Laine commented on CASSANDRA-673:
----------------------------------------
System table should probably not be included in the transfer?
> bootstrapping does not work properly using multiple key space
> -------------------------------------------------------------
>
> Key: CASSANDRA-673
> URL: https://issues.apache.org/jira/browse/CASSANDRA-673
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Environment: 1. cluster has at least one empty key-space
> 2. one node be added into cluster to do bootstrap
> Reporter: Michael Lee
> Assignee: Jaakko Laine
> Priority: Minor
> Fix For: 0.5
>
> Attachments: 0001-keep-track-of-table-and-node-while-bootstrapping.patch
>
>
> when use multiple key-spaces, and one key-space has no SSTable, then bootstrap may not work right.
> Say nodes A, B, C, D have key spaces "KS1" and "KS2", KS1 is empty, now add empty node E into cluster.
> Suppose E decide to drag data from A and B(bootstrap source), E will send range to A and B, and A, B will scan all key-spaces they got and send ack to E, which contains list of key-space name(StreamContextManager.StreamContext),
> when E get ack from A and B, it scan this list, but when encounter first empty key-space, it will stop and remove node from bootstrap sources list:
> StreamInitiateVerbHandler.doVerb:
> ......
> if (streamContexts.length == 0 && StorageService.instance().isBootstrapMode())
> {
> if (logger.isDebugEnabled())
> logger.debug("no data needed from " + message.getFrom());
> StorageService.instance().removeBootstrapSource(message.getFrom());
> return;
> }
> ......
> If list of bootstrap sources is empty, E will finish bootstrapping
> So, the result is: E get nothing from source A, B, even KS2 has lots of data.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.