[ https://issues.apache.org/jira/browse/CASSANDRA-14692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16610524#comment-16610524 ]
Roland Johann edited comment on CASSANDRA-14692 at 9/11/18 12:26 PM: --------------------------------------------------------------------- Set this option at {{jvm.options}} and it shows up as part of process via {{ps aux}}. Attached {{cassandra_log}} also shows that the property has been interpreted correctly: {quote}INFO [main] 2018-09-05 15:13:21,224 StorageService.java:694 - Not joining ring as requested. Use JMX (StorageService->joinRing()) to initiate ring joining{quote} The relevant code is in this line: https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L1192 {code:java} public boolean isJoined() { return tokenMetadata.isMember(FBUtilities.getBroadcastAddressAndPort()) && !isSurveyMode; } {code} So cassandra internally is in state joined when connected at gossip without taking gossip state into account. There is a member {{joined}} which will be set when joning the ring, which can/should be used to expose the state: https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L895 was (Author: rolandjohann): Set this option at {{jvm.options}} and it shows up as part of process via {{ps aux}}. Attached {{cassandra_log}} also shows that the property has been interpreted correctly: {quote}INFO [main] 2018-09-05 15:13:21,224 StorageService.java:694 - Not joining ring as requested. Use JMX (StorageService->joinRing()) to initiate ring joining{quote} The relevant code is in this line: https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L1192 {code:java} public boolean isJoined() { return tokenMetadata.isMember(FBUtilities.getBroadcastAddressAndPort()) && !isSurveyMode; } {code} So cassandra internally is in state joined when connected at gossip without taking gossip state into account. There is a member {{joined}} which will be set when joning the ring, which can be used to expose the state: https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L895 > join_ring=false populates wrong value into StorageServiceMB and prevents join > by nodetool > ----------------------------------------------------------------------------------------- > > Key: CASSANDRA-14692 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14692 > Project: Cassandra > Issue Type: Bug > Components: Lifecycle > Reporter: Roland Johann > Priority: Major > Fix For: 3.11.3 > > Attachments: Bildschirmfoto 2018-09-05 um 17.29.54.png, > cassandra1_log, cassandra1_nodetool_gossipinfo, cassandra1_nodetool_status, > cassandra2_nodetool_gossipinfo, cassandra2_nodetool_status > > > Restarting a cassandra cluster member with option > {{-Dcassandra.join_ring=false}} populates wrong value to its > {{StorageServiceMB}} field {{Joined}} which causes the actual trigger to join > via {{nodetool join}} to abort due to check if {{Join}} in > {{StorageServiceMB}} is true. Via jconsole it's possible as there is no check. > https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/tools/nodetool/Join.java > {{nodetool status}} also shows that the node is up and in normal node, on the > rest of the cluster node status is {{DN}}. > {{nodetool gossipinfo}} states that the non joined node is in gossip state > {{hibernate}}. > Came across this issue while evaluated the problem of zombies to integrate > into automation processes and the documentation states > {quote}To avoid this problem, run {{nodetool repair}} on any restored node > before rejoining it to its cluster. > {quote} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org