AHeise commented on code in PR #25292:
URL: https://github.com/apache/flink/pull/25292#discussion_r1758856122


##########
flink-runtime/src/main/java/org/apache/flink/streaming/api/connector/sink2/CommittableMessageSerializer.java:
##########
@@ -91,13 +90,13 @@ public CommittableMessage<CommT> deserialize(int version, 
byte[] serialized)
                 return new CommittableWithLineage<>(
                         SimpleVersionedSerialization.readVersionAndDeSerialize(
                                 committableSerializer, in),
-                        readCheckpointId(in),
+                        in.readLong(),

Review Comment:
   Thanks for challenging that. It's one of the parts where most uncertainty 
still resides. But let's look again on what is happening and has happened:
   * On write: we replaced null with EOI, now we get EOI and write it; so it 
should be the same byte sequence.
   * On read: we have always used `readLong` which is not null-aware. We have 
replaced EOI with null.
   
   So for serialization nothing has changed. However, around serialization we 
replace null with EOI in all instances of the Message.
   
   That should be safe to change without migration, no?
   
   For compatibility, I left getCheckpointId the same, so it will return an 
OptionalLong.empty() on EOI where it previously returned it on null. I have not 
found any usage of the method outside of Flink anyhow.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to