mirror of https://github.com/apache/cassandra
Incremental repairs fail on mixed IPv4/v6 addresses serializing SyncRequest
patch by Jon Meredith; reviewed by Caleb Rackliffe for CASSANDRA-18474
This commit is contained in:
parent
cd9bed0aea
commit
09c1e67598
|
|
@ -1,4 +1,5 @@
|
||||||
4.0.10
|
4.0.10
|
||||||
|
* Incremental repairs fail on mixed IPv4/v6 addresses serializing SyncRequest (CASSANDRA-18474)
|
||||||
* Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443)
|
* Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443)
|
||||||
* Fix nested selection of reversed collections (CASSANDRA-17913)
|
* Fix nested selection of reversed collections (CASSANDRA-17913)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@ public class SyncRequest extends RepairMessage
|
||||||
public SyncRequest deserialize(DataInputPlus in, int version) throws IOException
|
public SyncRequest deserialize(DataInputPlus in, int version) throws IOException
|
||||||
{
|
{
|
||||||
RepairJobDesc desc = RepairJobDesc.serializer.deserialize(in, version);
|
RepairJobDesc desc = RepairJobDesc.serializer.deserialize(in, version);
|
||||||
InetAddressAndPort owner = inetAddressAndPortSerializer.deserialize(in, version);
|
InetAddressAndPort initiator = inetAddressAndPortSerializer.deserialize(in, version);
|
||||||
InetAddressAndPort src = inetAddressAndPortSerializer.deserialize(in, version);
|
InetAddressAndPort src = inetAddressAndPortSerializer.deserialize(in, version);
|
||||||
InetAddressAndPort dst = inetAddressAndPortSerializer.deserialize(in, version);
|
InetAddressAndPort dst = inetAddressAndPortSerializer.deserialize(in, version);
|
||||||
int rangesCount = in.readInt();
|
int rangesCount = in.readInt();
|
||||||
|
|
@ -120,13 +120,15 @@ public class SyncRequest extends RepairMessage
|
||||||
ranges.add((Range<Token>) AbstractBounds.tokenSerializer.deserialize(in, IPartitioner.global(), version));
|
ranges.add((Range<Token>) AbstractBounds.tokenSerializer.deserialize(in, IPartitioner.global(), version));
|
||||||
PreviewKind previewKind = PreviewKind.deserialize(in.readInt());
|
PreviewKind previewKind = PreviewKind.deserialize(in.readInt());
|
||||||
boolean asymmetric = in.readBoolean();
|
boolean asymmetric = in.readBoolean();
|
||||||
return new SyncRequest(desc, owner, src, dst, ranges, previewKind, asymmetric);
|
return new SyncRequest(desc, initiator, src, dst, ranges, previewKind, asymmetric);
|
||||||
}
|
}
|
||||||
|
|
||||||
public long serializedSize(SyncRequest message, int version)
|
public long serializedSize(SyncRequest message, int version)
|
||||||
{
|
{
|
||||||
long size = RepairJobDesc.serializer.serializedSize(message.desc, version);
|
long size = RepairJobDesc.serializer.serializedSize(message.desc, version);
|
||||||
size += 3 * inetAddressAndPortSerializer.serializedSize(message.initiator, version);
|
size += inetAddressAndPortSerializer.serializedSize(message.initiator, version);
|
||||||
|
size += inetAddressAndPortSerializer.serializedSize(message.src, version);
|
||||||
|
size += inetAddressAndPortSerializer.serializedSize(message.dst, version);
|
||||||
size += TypeSizes.sizeof(message.ranges.size());
|
size += TypeSizes.sizeof(message.ranges.size());
|
||||||
for (Range<Token> range : message.ranges)
|
for (Range<Token> range : message.ranges)
|
||||||
size += AbstractBounds.tokenSerializer.serializedSize(range, version);
|
size += AbstractBounds.tokenSerializer.serializedSize(range, version);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue