CEP-15: (C*) accord.messages.BeginRecovery.RecoverNack#supersededBy is nullable but C* serializer doesn't expect null

This commit is contained in:
David Capwell 2023-09-14 13:54:28 -07:00 committed by David Capwell
parent 10e065ffe5
commit cfc63edcb4
2 changed files with 4 additions and 3 deletions

View File

@ -57,6 +57,7 @@ public class CommandSerializers
public static final TimestampSerializer<Timestamp> timestamp = new TimestampSerializer<>(Timestamp::fromBits);
public static final IVersionedSerializer<Timestamp> nullableTimestamp = NullableSerializer.wrap(timestamp);
public static final TimestampSerializer<Ballot> ballot = new TimestampSerializer<>(Ballot::fromBits);
public static final IVersionedSerializer<Ballot> nullableBallot = NullableSerializer.wrap(ballot);
public static final EnumSerializer<Txn.Kind> kind = new EnumSerializer<>(Txn.Kind.class);
public static class TimestampSerializer<T extends Timestamp> implements IVersionedSerializer<T>

View File

@ -81,7 +81,7 @@ public class RecoverySerializers
{
void serializeNack(RecoverNack recoverNack, DataOutputPlus out, int version) throws IOException
{
CommandSerializers.ballot.serialize(recoverNack.supersededBy, out, version);
CommandSerializers.nullableBallot.serialize(recoverNack.supersededBy, out, version);
}
void serializeOk(RecoverOk recoverOk, DataOutputPlus out, int version) throws IOException
@ -124,7 +124,7 @@ public class RecoverySerializers
{
boolean isOk = in.readBoolean();
if (!isOk)
return deserializeNack(CommandSerializers.ballot.deserialize(in, version), in, version);
return deserializeNack(CommandSerializers.nullableBallot.deserialize(in, version), in, version);
return deserializeOk(CommandSerializers.txnId.deserialize(in, version),
CommandSerializers.status.deserialize(in, version),
@ -143,7 +143,7 @@ public class RecoverySerializers
long serializedNackSize(RecoverNack recoverNack, int version)
{
return CommandSerializers.ballot.serializedSize(recoverNack.supersededBy, version);
return CommandSerializers.nullableBallot.serializedSize(recoverNack.supersededBy, version);
}
long serializedOkSize(RecoverOk recoverOk, int version)