[ 
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

Reply via email to