Merge branch 'cassandra-5.0' into cassandra-6.0

This commit is contained in:
Aleksey Yeshchenko 2026-06-15 11:19:09 +01:00
commit f67f4ead45
12 changed files with 28 additions and 15 deletions

View File

@ -48,6 +48,7 @@
* Fix a removed TTLed row re-appearance in a materialized view after a cursor compaction (CASSANDRA-21152)
* Rework ZSTD dictionary compression logic to create a trainer per training (CASSANDRA-21209)
Merged from 5.0:
* Fix RequestFailureReason serializer and nits in a few others (CASSANDRA-21437)
* Remove golang dependency in gen-doc and replace with python implementation (CASSANDRA-21432)
* Use estimated compressed size for tables to check if there is enough free space for a compaction (CASSANDRA-21245)
* Fix failing select on system_views.settings for non-string keys (CASSANDRA-21348)

View File

@ -58,7 +58,7 @@ public class SerializingCacheProvider implements CacheProvider<RowCacheKey, IRow
public long serializedSize(IRowCacheEntry entry)
{
int size = TypeSizes.sizeof(true);
long size = TypeSizes.sizeof(true);
if (entry instanceof RowCacheSentinel)
size += TypeSizes.sizeof(((RowCacheSentinel) entry).sentinelId);
else

View File

@ -231,7 +231,7 @@ public abstract class AbstractBounds<T extends RingPosition<T>> implements Seria
public long serializedSize(AbstractBounds<T> ab, int version)
{
// !WARNING! See serialize method above for why we still need to have that condition.
int size = version < MessagingService.VERSION_30
long size = version < MessagingService.VERSION_30
? TypeSizes.sizeof(kindInt(ab))
: 1;
size += serializer.serializedSize(ab.left, version);

View File

@ -138,22 +138,25 @@ public enum RequestFailureReason
{
}
@Override
public void serialize(RequestFailureReason reason, DataOutputPlus out, int version) throws IOException
{
assert version >= VERSION_40;
out.writeUnsignedVInt32(reason.code);
}
@Override
public RequestFailureReason deserialize(DataInputPlus in, int version) throws IOException
{
assert version >= VERSION_40;
return fromCode(in.readUnsignedVInt32());
}
@Override
public long serializedSize(RequestFailureReason reason, int version)
{
assert version >= VERSION_40;
return VIntCoding.computeVIntSize(reason.code);
return VIntCoding.computeUnsignedVIntSize(reason.code);
}
}
}

View File

@ -60,6 +60,7 @@ public class GossipDigestAck
class GossipDigestAckSerializer implements IVersionedSerializer<GossipDigestAck>
{
@Override
public void serialize(GossipDigestAck gDigestAckMessage, DataOutputPlus out, int version) throws IOException
{
GossipDigestSerializationHelper.serialize(gDigestAckMessage.gDigestList, out, version);
@ -72,6 +73,7 @@ class GossipDigestAckSerializer implements IVersionedSerializer<GossipDigestAck>
}
}
@Override
public GossipDigestAck deserialize(DataInputPlus in, int version) throws IOException
{
List<GossipDigest> gDigestList = GossipDigestSerializationHelper.deserialize(in, version);
@ -87,9 +89,10 @@ class GossipDigestAckSerializer implements IVersionedSerializer<GossipDigestAck>
return new GossipDigestAck(gDigestList, epStateMap);
}
@Override
public long serializedSize(GossipDigestAck ack, int version)
{
int size = GossipDigestSerializationHelper.serializedSize(ack.gDigestList, version);
long size = GossipDigestSerializationHelper.serializedSize(ack.gDigestList, version);
size += TypeSizes.sizeof(ack.epStateMap.size());
for (Map.Entry<InetAddressAndPort, EndpointState> entry : ack.epStateMap.entrySet())
size += inetAddressAndPortSerializer.serializedSize(entry.getKey(), version)

View File

@ -74,9 +74,9 @@ class GossipDigestSerializationHelper
return gDigests;
}
static int serializedSize(List<GossipDigest> digests, int version)
static long serializedSize(List<GossipDigest> digests, int version)
{
int size = TypeSizes.sizeof(digests.size());
long size = TypeSizes.sizeof(digests.size());
for (GossipDigest digest : digests)
size += GossipDigest.serializer.serializedSize(digest, version);
return size;

View File

@ -49,7 +49,7 @@ class CustomParamsSerializer implements IVersionedSerializer<Map<String,byte[]>>
@Override
public long serializedSize(Map<String, byte[]> t, int version)
{
int size = TypeSizes.sizeofUnsignedVInt(t.size());
long size = TypeSizes.sizeofUnsignedVInt(t.size());
for (Map.Entry<String,byte[]> e : t.entrySet())
{
size += TypeSizes.sizeof(e.getKey());

View File

@ -167,7 +167,7 @@ public class RepairJobDesc
public long serializedSize(RepairJobDesc desc, int version)
{
int size = TypeSizes.sizeof(desc.parentSessionId != null);
long size = TypeSizes.sizeof(desc.parentSessionId != null);
if (desc.parentSessionId != null)
size += TimeUUID.sizeInBytes();
size += TimeUUID.sizeInBytes();

View File

@ -32,6 +32,7 @@ public class SchemaMutationsSerializer implements IVersionedSerializer<Collectio
{
public static final SchemaMutationsSerializer instance = new SchemaMutationsSerializer();
@Override
public void serialize(Collection<Mutation> schema, DataOutputPlus out, int version) throws IOException
{
out.writeInt(schema.size());
@ -39,6 +40,7 @@ public class SchemaMutationsSerializer implements IVersionedSerializer<Collectio
Mutation.serializer.serialize(mutation, out, version);
}
@Override
public Collection<Mutation> deserialize(DataInputPlus in, int version) throws IOException
{
int count = in.readInt();
@ -50,9 +52,10 @@ public class SchemaMutationsSerializer implements IVersionedSerializer<Collectio
return schema;
}
@Override
public long serializedSize(Collection<Mutation> schema, int version)
{
int size = TypeSizes.sizeof(schema.size());
long size = TypeSizes.sizeof(schema.size());
for (Mutation mutation : schema)
size += mutation.serializedSize(version);
return size;

View File

@ -65,6 +65,7 @@ public class StreamRequest
public static class StreamRequestSerializer implements IVersionedSerializer<StreamRequest>
{
@Override
public void serialize(StreamRequest request, DataOutputPlus out, int version) throws IOException
{
out.writeUTF(request.keyspace);
@ -89,6 +90,7 @@ public class StreamRequest
}
}
@Override
public StreamRequest deserialize(DataInputPlus in, int version) throws IOException
{
String keyspace = in.readUTF();
@ -126,13 +128,14 @@ public class StreamRequest
return replicas.build();
}
@Override
public long serializedSize(StreamRequest request, int version)
{
int size = TypeSizes.sizeof(request.keyspace);
long size = TypeSizes.sizeof(request.keyspace);
size += TypeSizes.sizeof(request.columnFamilies.size());
size += inetAddressAndPortSerializer.serializedSize(request.full.endpoint(), version);
size += replicasSerializedSize(request.transientReplicas, version);
size += replicasSerializedSize(request.full, version);
size += replicasSerializedSize(request.transientReplicas, version);
for (String cf : request.columnFamilies)
size += TypeSizes.sizeof(cf);
return size;

View File

@ -64,7 +64,7 @@ public final class BloomFilterSerializer implements IGenericSerializer<BloomFilt
@Override
public long serializedSize(BloomFilter bf)
{
int size = TypeSizes.sizeof(bf.hashCount); // hash count
long size = TypeSizes.sizeof(bf.hashCount); // hash count
size += bf.bitset.serializedSize();
return size;
}

View File

@ -445,7 +445,7 @@ public class EstimatedHistogram implements DoubleToLongFunction
public long serializedSize(EstimatedHistogram eh)
{
int size = 0;
long size = 0;
long[] offsets = eh.getBucketOffsets();
long[] buckets = eh.getBuckets(false);