nayden kolev created CASSANDRA-7825:
---------------------------------------
Summary: node decommission leaves ghost nodes in system.peers
table and JMX
Key: CASSANDRA-7825
URL: https://issues.apache.org/jira/browse/CASSANDRA-7825
Project: Cassandra
Issue Type: Bug
Environment: OS: Ubuntu 12.04.4 LTS
Cassandra: ReleaseVersion: 2.0.8.39
DSE 4.5.1
OpsCenter: 5.0.0
Reporter: nayden kolev
I have a 4-node cluster (split in 2 DCs) running DSE 4.5.1, C* 2.0.8.39. I
needed to cycle a node (add a new node and remove one). I followed this doc
(more specifically steps 1 and 2):
http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_remove_node_t.html
After the decom, the decommissioned node logged this:
INFO [RMI TCP Connection(17)-10.1.129.27] 2014-08-23 09:57:08,243
ThriftServer.java (line 141) Stop listening to thrift clients
INFO [RMI TCP Connection(17)-10.1.129.27] 2014-08-23 09:57:08,269 Server.java
(line 182) Stop listening for CQL clients
INFO [RMI TCP Connection(17)-10.1.129.27] 2014-08-23 09:57:08,270 Gossiper.java
(line 1279) Announcing shutdown
INFO [RMI TCP Connection(17)-10.1.129.27] 2014-08-23 09:57:10,271
MessagingService.java (line 683) Waiting for messaging service to quiesce
INFO [ACCEPT-/10.1.129.27] 2014-08-23 09:57:10,272 MessagingService.java (line
923) MessagingService has terminated the accept() thread
INFO [RMI TCP Connection(17)-10.1.129.27] 2014-08-23 09:57:10,280
StorageService.java (line 1007) DECOMMISSIONED
The decommissioned node no longer appears in OpsCenter, and 'nodetool status'
shows it gone from the cluster as well, with the remaining 4 nodes un UN state.
All is good... Then I noticed that the DownEndpointCount (still) shows as 1 -
using a JMX console, and browsing to org.apache.cassandra.net, FailureDetector,
Attributes, DownEdpointCount. While there, I also noticed that SimpleStates
shows the decommissioned node as down, and the AllEndpointStates shows it as
STATUS:LEFT
I tried running a 'nodetool removenode decom-node's-host-id', but it failed
with "Host ID not found", which I expected, given I decommissioned it and it
does not show in nodetool status.
nodetool describecluster lists only the expected 4 nodes (does not show the
decommissioned node)
checking the system.peers table lists the decomm-ed node with a null host_id,
rack, release_version, rpc_address, schema_version, etc.
Adding JVM_OPTS="$JVM_OPTS -Dcassandra.load_ring_state=false" to the
Cassandra-env.sh as suggested here:
https://issues.apache.org/jira/browse/CASSANDRA-6053
does not help. I have actually tried this before, when I was decommissioning a
node on an older C* version and it worked, but now it does nothing. If I delete
the row mentioning the decommissioned node from the system.peers table it stays
out of there until the next dse service restart.
This is causing apps to timeout, since they get a invalid node's IP... As a
workaround I remove the entry from the peers table, but it is not permanent...
--
This message was sent by Atlassian JIRA
(v6.2#6252)