cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roland Johann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-14692) join_ring=false populates wrong value into StorageServiceMB and prevents join by nodetool
Date Tue, 11 Sep 2018 12:26:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-14692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16610524#comment-16610524
] 

Roland Johann commented on CASSANDRA-14692:
-------------------------------------------

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


Mime
View raw message