Correctly gossip with nodes >= 1.1.7 Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-5102
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9852a936 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9852a936 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9852a936 Branch: refs/heads/trunk Commit: 9852a9360cc3a0b42abbf2655db64d5107f4778a Parents: 677e247 Author: Brandon Williams <brandonwilli...@apache.org> Authored: Fri Jan 4 12:10:30 2013 -0600 Committer: Brandon Williams <brandonwilli...@apache.org> Committed: Fri Jan 4 12:10:30 2013 -0600 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../org/apache/cassandra/gms/GossipDigestAck.java | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9852a936/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index a960445..2ec66c9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -19,6 +19,7 @@ * Allow non-schema system ks modification for shuffle to work (CASSANDRA-5097) * cqlsh: Add default limit to SELECT statements (CASSANDRA-4972) * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101) + * Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102) Merged from 1.1: * Pig: correctly decode row keys in widerow mode (CASSANDRA-5098) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9852a936/src/java/org/apache/cassandra/gms/GossipDigestAck.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/gms/GossipDigestAck.java b/src/java/org/apache/cassandra/gms/GossipDigestAck.java index 68dcff4..e0e2039 100644 --- a/src/java/org/apache/cassandra/gms/GossipDigestAck.java +++ b/src/java/org/apache/cassandra/gms/GossipDigestAck.java @@ -63,7 +63,7 @@ class GossipDigestAckSerializer implements IVersionedSerializer<GossipDigestAck> public void serialize(GossipDigestAck gDigestAckMessage, DataOutput dos, int version) throws IOException { GossipDigestSerializationHelper.serialize(gDigestAckMessage.gDigestList, dos, version); - if (version <= MessagingService.VERSION_11) + if (version < MessagingService.VERSION_12) dos.writeBoolean(true); // 0.6 compatibility dos.writeInt(gDigestAckMessage.epStateMap.size()); for (Map.Entry<InetAddress, EndpointState> entry : gDigestAckMessage.epStateMap.entrySet()) @@ -77,7 +77,7 @@ class GossipDigestAckSerializer implements IVersionedSerializer<GossipDigestAck> public GossipDigestAck deserialize(DataInput dis, int version) throws IOException { List<GossipDigest> gDigestList = GossipDigestSerializationHelper.deserialize(dis, version); - if (version <= MessagingService.VERSION_11) + if (version < MessagingService.VERSION_12) dis.readBoolean(); // 0.6 compatibility int size = dis.readInt(); Map<InetAddress, EndpointState> epStateMap = new HashMap<InetAddress, EndpointState>(size); @@ -94,7 +94,7 @@ class GossipDigestAckSerializer implements IVersionedSerializer<GossipDigestAck> public long serializedSize(GossipDigestAck ack, int version) { int size = GossipDigestSerializationHelper.serializedSize(ack.gDigestList, version); - if (version <= MessagingService.VERSION_11) + if (version < MessagingService.VERSION_12) size += TypeSizes.NATIVE.sizeof(true); size += TypeSizes.NATIVE.sizeof(ack.epStateMap.size()); for (Map.Entry<InetAddress, EndpointState> entry : ack.epStateMap.entrySet())