Skip to content

Conversation

arnaud-daroussin
Copy link
Contributor

@arnaud-daroussin arnaud-daroussin commented Sep 18, 2025

Hi @novakov-alexey,

Here is the firsts serializers teased in #286:

  • java.time.ZoneId
  • java.time.ZoneOffset
  • java.time.ZonedDateTime
  • java.time.OffsetDateTime

These serializers are quite straightforward but I have few things to check with you:

  • I introduced new 2 constants:
    • VariableLengthDataType with value -1 to indicate a variable length for the serializer, I replaced it everywhere and made 2 small optimizations in CoproductSerializer and EitherSerializer, if you are OK with them (fixed length data when possible allows Flink to do some optimizations especially on keys).
    • NullMarker with value Int.MinValue to mark a null value. Using Int.MinValue to be outside -64800 to +64800 validity range for ZoneOffset.
  • I added SimpleTypeInfo to replace SimpleTypeInformation. It's a simple case class simpler to use than abstract SimpleTypeInformation which require to create a subclass for each use. I don't know if you want to keep SimpleTypeInformation, I only deprecated it for now.

@arnaud-daroussin
Copy link
Contributor Author

Do you agree with choices made in this PR? On my side, I think it's ready to be merged.

@novakov-alexey
Copy link
Collaborator

Hi @arnaud-daroussin , yes, it looks great. Sorry for delay.

@novakov-alexey novakov-alexey merged commit d3ca72b into flink-extended:master Sep 26, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants