Author: jbellis
Date: Fri Dec 2 17:59:06 2011
New Revision: 1209608
URL: http://svn.apache.org/viewvc?rev=1209608&view=rev
Log:
use cannonical host for local node in nodetool info
patch by Rick Branson; reviewed by jbellis for CASSANDRA-3556
Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java
Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1209608&r1=1209607&r2=1209608&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Dec 2 17:59:06 2011
@@ -1,3 +1,7 @@
+0.8.9
+ * use cannonical host for local node in nodetool info (CASSANDRA-3556)
+
+
0.8.8
* avoid dropping tombstones when they might still be needed to shadow
data in a different sstable (CASSANDRA-2786)
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=1209608&r1=1209607&r2=1209608&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java
Fri Dec 2 17:59:06 2011
@@ -54,6 +54,7 @@ import org.apache.cassandra.service.Stor
import org.apache.cassandra.streaming.StreamingService;
import org.apache.cassandra.streaming.StreamingServiceMBean;
import org.apache.cassandra.thrift.UnavailableException;
+import org.apache.cassandra.utils.Pair;
/**
* JMX client operations for Cassandra.
@@ -518,11 +519,29 @@ public class NodeProbe
return cfsProxy;
}
+ public String getEndpoint()
+ {
+ // Try to find the endpoint using the local token, doing so in a crazy
manner
+ // to maintain backwards compatibility with the MBean interface
+ String stringToken = ssProxy.getToken();
+ Map<Token, String> tokenToEndpoint = ssProxy.getTokenToEndpointMap();
+
+ for (Map.Entry<Token, String> pair : tokenToEndpoint.entrySet())
+ {
+ if (pair.getKey().toString().equals(stringToken))
+ {
+ return pair.getValue();
+ }
+ }
+
+ throw new AssertionError("Could not find myself in the endpoint list,
something is very wrong!");
+ }
+
public String getDataCenter()
{
try
{
- return getEndpointSnitchInfoProxy().getDatacenter(host);
+ return getEndpointSnitchInfoProxy().getDatacenter(getEndpoint());
}
catch (UnknownHostException e)
{
@@ -534,7 +553,7 @@ public class NodeProbe
{
try
{
- return getEndpointSnitchInfoProxy().getRack(host);
+ return getEndpointSnitchInfoProxy().getRack(getEndpoint());
}
catch (UnknownHostException e)
{