don't perform HH to client-mode
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-2668
git-svn-id: https://svn.apache.org/repos/asf/cassandra/branches/cassandra-0.7@1125002 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 5628c9c..501d98f 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
(CASSANDRA-2652)
* mark BRAF buffer invalid post-flush so we don't re-flush partial
buffers again, especially on CL writes (CASSANDRA-2660)
+ * don't perform HH to client-mode [storageproxy] nodes (CASSANDRA-2668)
0.7.6
diff --git a/src/java/org/apache/cassandra/gms/EndpointState.java b/src/java/org/apache/cassandra/gms/EndpointState.java
index aa17917..14ab23f 100644
--- a/src/java/org/apache/cassandra/gms/EndpointState.java
+++ b/src/java/org/apache/cassandra/gms/EndpointState.java
@@ -136,7 +136,7 @@
hasToken_ = value;
}
- public boolean getHasToken()
+ public boolean hasToken()
{
return hasToken_;
}
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java b/src/java/org/apache/cassandra/gms/Gossiper.java
index 057b560..1c17fe6 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -431,7 +431,7 @@
// check if this is a fat client. fat clients are removed automatically from
// gosip after FatClientTimeout
- if (!epState.getHasToken() && !epState.isAlive() && (duration > FatClientTimeout_))
+ if (!epState.hasToken() && !epState.isAlive() && (duration > FatClientTimeout_))
{
if (StorageService.instance.getTokenMetadata().isMember(endpoint))
epState.setHasToken(true);
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index 0cb8ad6..07768db 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1130,7 +1130,7 @@
public void onAlive(InetAddress endpoint, EndpointState state)
{
- if (!isClientMode)
+ if (!isClientMode && state.hasToken())
deliverHints(endpoint);
}