[jira] [Commented] (CASSANDRA-5337) vnode-aware replacenode command
[ https://issues.apache.org/jira/browse/CASSANDRA-5337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13748022#comment-13748022 ] Mike Heffner commented on CASSANDRA-5337: - Is it correct that these two conditionals should be updated with the same method: {noformat} @@ -574,7 +574,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE appStates.put(ApplicationState.NET_VERSION, valueFactory.networkVersion()); appStates.put(ApplicationState.HOST_ID, valueFactory.hostId(SystemTable.getLocalHostId())); appStates.put(ApplicationState.RPC_ADDRESS, valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress())); -if (0 != DatabaseDescriptor.getReplaceTokens().size()) +if (DatabaseDescriptor.isReplacing()) {noformat} and: {noformat} @@ -655,7 +655,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE if (logger.isDebugEnabled()) logger.debug(... got ring + schema info); -if (DatabaseDescriptor.getReplaceTokens().size() == 0) +if (DatabaseDescriptor.isReplacing()) {noformat} (another case later in patch) It would seem like one of those should be {{!DatabaseDescriptor.isReplacing()}}. Apologies if I'm reading this wrong, just looked wrong on initial read. vnode-aware replacenode command --- Key: CASSANDRA-5337 URL: https://issues.apache.org/jira/browse/CASSANDRA-5337 Project: Cassandra Issue Type: New Feature Components: Core Affects Versions: 1.2.0 Reporter: Jonathan Ellis Assignee: Brandon Williams Labels: vnodes Fix For: 1.2.7, 2.0 Attachments: 5337.txt, 5337-v2.txt Currently you have the following options to replace a dead, unrecoverable node: - replacetoken. this requires specifying all 256 or so vnode tokens as a CSL - bootstrap new node, decommission old one. this is inefficient since the new node's vnodes will probably not overlap much with the old one's, so we replicate stream about 2x as much as if we were just replacing the old with the new We should add an analogue to replacetoken that takes the address or node ID of the dead node instead. -- 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
[jira] [Commented] (CASSANDRA-5337) vnode-aware replacenode command
[ https://issues.apache.org/jira/browse/CASSANDRA-5337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13748170#comment-13748170 ] Brandon Williams commented on CASSANDRA-5337: - Those were fixed post-commit. vnode-aware replacenode command --- Key: CASSANDRA-5337 URL: https://issues.apache.org/jira/browse/CASSANDRA-5337 Project: Cassandra Issue Type: New Feature Components: Core Affects Versions: 1.2.0 Reporter: Jonathan Ellis Assignee: Brandon Williams Labels: vnodes Fix For: 1.2.7, 2.0 Attachments: 5337.txt, 5337-v2.txt Currently you have the following options to replace a dead, unrecoverable node: - replacetoken. this requires specifying all 256 or so vnode tokens as a CSL - bootstrap new node, decommission old one. this is inefficient since the new node's vnodes will probably not overlap much with the old one's, so we replicate stream about 2x as much as if we were just replacing the old with the new We should add an analogue to replacetoken that takes the address or node ID of the dead node instead. -- 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
[jira] [Commented] (CASSANDRA-5337) vnode-aware replacenode command
[ https://issues.apache.org/jira/browse/CASSANDRA-5337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13708800#comment-13708800 ] Jason Brown commented on CASSANDRA-5337: lgtm. The only (very minor) suggestion I'd make is maybe create a method like this on DD {code}public static boolean isReplacing() { return 0 != getReplaceTokens().size() || getReplaceNode() != null }{code} That way you avoid having to copy that dual condition check in SS. Otherwise, ship it! vnode-aware replacenode command --- Key: CASSANDRA-5337 URL: https://issues.apache.org/jira/browse/CASSANDRA-5337 Project: Cassandra Issue Type: New Feature Components: Core Affects Versions: 1.2.0 Reporter: Jonathan Ellis Assignee: Brandon Williams Labels: vnodes Fix For: 1.2.7, 2.0 Attachments: 5337.txt Currently you have the following options to replace a dead, unrecoverable node: - replacetoken. this requires specifying all 256 or so vnode tokens as a CSL - bootstrap new node, decommission old one. this is inefficient since the new node's vnodes will probably not overlap much with the old one's, so we replicate stream about 2x as much as if we were just replacing the old with the new We should add an analogue to replacetoken that takes the address or node ID of the dead node instead. -- 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
[jira] [Commented] (CASSANDRA-5337) vnode-aware replacenode command
[ https://issues.apache.org/jira/browse/CASSANDRA-5337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13708959#comment-13708959 ] Jason Brown commented on CASSANDRA-5337: v2 lgtm. vnode-aware replacenode command --- Key: CASSANDRA-5337 URL: https://issues.apache.org/jira/browse/CASSANDRA-5337 Project: Cassandra Issue Type: New Feature Components: Core Affects Versions: 1.2.0 Reporter: Jonathan Ellis Assignee: Brandon Williams Labels: vnodes Fix For: 1.2.7, 2.0 Attachments: 5337.txt, 5337-v2.txt Currently you have the following options to replace a dead, unrecoverable node: - replacetoken. this requires specifying all 256 or so vnode tokens as a CSL - bootstrap new node, decommission old one. this is inefficient since the new node's vnodes will probably not overlap much with the old one's, so we replicate stream about 2x as much as if we were just replacing the old with the new We should add an analogue to replacetoken that takes the address or node ID of the dead node instead. -- 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
[jira] [Commented] (CASSANDRA-5337) vnode-aware replacenode command
[ https://issues.apache.org/jira/browse/CASSANDRA-5337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13706439#comment-13706439 ] Chris Burroughs commented on CASSANDRA-5337: I used this to replace two nodes in a vnode cluster with R=3 and 2 dead nodes. As far as I could tell it worked without problem. vnode-aware replacenode command --- Key: CASSANDRA-5337 URL: https://issues.apache.org/jira/browse/CASSANDRA-5337 Project: Cassandra Issue Type: New Feature Components: Core Affects Versions: 1.2.0 Reporter: Jonathan Ellis Assignee: Brandon Williams Labels: vnodes Fix For: 1.2.7, 2.0 Attachments: 5337.txt Currently you have the following options to replace a dead, unrecoverable node: - replacetoken. this requires specifying all 256 or so vnode tokens as a CSL - bootstrap new node, decommission old one. this is inefficient since the new node's vnodes will probably not overlap much with the old one's, so we replicate stream about 2x as much as if we were just replacing the old with the new We should add an analogue to replacetoken that takes the address or node ID of the dead node instead. -- 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