[ https://issues.apache.org/jira/browse/CASSANDRA-12935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carl Yeksigian updated CASSANDRA-12935: --------------------------------------- Resolution: Fixed Fix Version/s: 3.11 4.0 3.0.11 2.2.9 Status: Resolved (was: Patch Available) +1 Committed as [a449e8f|https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=commit;h=a449e8f70f047081b2fd5892219ad2659d0027bd] and merged forward. > Use saved tokens when setting local tokens on StorageService.joinRing() > ----------------------------------------------------------------------- > > Key: CASSANDRA-12935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12935 > Project: Cassandra > Issue Type: Bug > Components: Coordination > Reporter: Paulo Motta > Assignee: Paulo Motta > Priority: Minor > Fix For: 2.2.9, 3.0.11, 4.0, 3.11 > > > The introduction of {{StorageService.finishJoiningRing()}} on CASSANDRA-8523: > {code:java} > @@ -885,17 +896,14 @@ public class StorageService extends > NotificationBroadcasterSupport implements IE > { > if (dataAvailable) > { > - // start participating in the ring. > - > SystemKeyspace.setBootstrapState(SystemKeyspace.BootstrapState.COMPLETED); > - setTokens(bootstrapTokens); > + finishJoiningRing(); > + > // remove the existing info about the replaced node. > if (!current.isEmpty()) > { > for (InetAddress existing : current) > Gossiper.instance.replacedEndpoint(existing); > } > - assert tokenMetadata.sortedTokens().size() > 0; > - doAuthSetup(); > } > else > { > @@ -908,6 +916,11 @@ public class StorageService extends > NotificationBroadcasterSupport implements IE > else if (isSurveyMode) > { > - setTokens(SystemKeyspace.getSavedTokens()); > - > SystemKeyspace.setBootstrapState(SystemKeyspace.BootstrapState.COMPLETED); > isSurveyMode = false; > logger.info("Leaving write survey mode and joining ring at > operator request"); > - assert tokenMetadata.sortedTokens().size() > 0; > - > - doAuthSetup(); > + finishJoiningRing(); > } > } > > + private void finishJoiningRing() > + { > + // start participating in the ring. > + > SystemKeyspace.setBootstrapState(SystemKeyspace.BootstrapState.COMPLETED); > + setTokens(bootstrapTokens); > + > + assert tokenMetadata.sortedTokens().size() > 0; > + doAuthSetup(); > + } > + > {code} > slightly changed the way tokens are set on {{StorageService.joinRing()}} when > {{cassandra.write_survey=true}} from > {{setTokens(SystemKeyspace.getSavedTokens())}} > to {{setTokens(bootstrapTokens)}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)