+1 This would be great On Wed, Oct 4, 2023 at 7:04 AM Gyula Fóra <gyula.f...@gmail.com> wrote:
> Hi All! > > Flink 1.18 contains experimental Java 17 support but it misses out on Java > records which can be one of the nice benefits of actually using newer java > versions. > > There is already a Jira to track this feature [1] but I am not aware of any > previous efforts so far. > > Since records have pretty strong guarantees and many users would probably > want to migrate from their POJOs, I think we should enhance the current > Pojo TypeInfo/Serializer to accommodate for the records. > > I experimented with this locally and the changes are not huge as we only > need to allow instantiating records through the constructor instead of > setters. This would mean that the serialization format is basically > equivalent to the same non-record pojo, giving us backward compatibility > and all the features of the Pojo serializer for basically free. > > We should make sure to not introduce any performance regression in the > PojoSerializer but I am happy to open a preview PR if there is interest. > > There were mentions of upgrading Kryo to support this but I think that > would add unnecessary complexity. > > What do you all think? > > Cheers, > Gyula > > [1] https://issues.apache.org/jira/browse/FLINK-32380 >