Jivko Donev created CASSANDRA-7082: -------------------------------------- Summary: Nodetool status always display only the first token Key: CASSANDRA-7082 URL: https://issues.apache.org/jira/browse/CASSANDRA-7082 Project: Cassandra Issue Type: Bug Components: Tools Reporter: Jivko Donev Priority: Minor
nodetool status command always displays the first token for a node even if using vnodes. The defect is only reproduced on version 2.0.7. With the same configuration 2.0.7 displays: Datacenter: DC1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Owns (effective) Host ID Token Rack UN 127.0.0.1 156.34 KB 100.0% d6629553-d6e9-434d-bf01-54c257b20ea9 -9134643033027010921 Rack1 But 2.0.6 displays: Datacenter: DC1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID UN 127.0.0.1 210.32 KB 256 100.0% 08208ec9-8976-4ad0-b6bb-ee5dcf0109e The problem seems to be in NodeCmd.java the check for vnodes. In the print() method there is a check // More tokens then nodes (aka vnodes)? if (tokensToEndpoints.values().size() < tokensToEndpoints.keySet().size()) isTokenPerNode = false; while in 2.0.6 the same code was: // More tokens then nodes (aka vnodes)? if (new HashSet<String>(tokensToEndpoints.values()).size() < tokensToEndpoints.keySet().size()) isTokenPerNode = false; In 2.0.7 this check is never true as values collection is always equal by size with key set size. -- This message was sent by Atlassian JIRA (v6.2#6252)