You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Roland Johann (JIRA)" <ji...@apache.org> on 2018/09/11 12:26:00 UTC

[jira] [Comment Edited] (CASSANDRA-14692) join_ring=false populates wrong value into StorageServiceMB and prevents join by nodetool

    [ 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:25 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 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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org