diff --git a/CHANGES.txt b/CHANGES.txt index 5628c9c1de..501d98fe68 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 aa17917301..14ab23f843 100644 --- a/src/java/org/apache/cassandra/gms/EndpointState.java +++ b/src/java/org/apache/cassandra/gms/EndpointState.java @@ -136,7 +136,7 @@ public class EndpointState 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 057b560564..1c17fe686b 100644 --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@ -431,7 +431,7 @@ public class Gossiper implements IFailureDetectionEventListener // 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 0cb8ad63bb..07768db9b4 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -1130,7 +1130,7 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe public void onAlive(InetAddress endpoint, EndpointState state) { - if (!isClientMode) + if (!isClientMode && state.hasToken()) deliverHints(endpoint); }