[ https://issues.apache.org/jira/browse/FLINK-36612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hong Liang Teoh updated FLINK-36612: ------------------------------------ Description: When creating a POJO using Lombok, the getters and setters are automatically generated. It would be good for Flink to recognise the generated getters and setters generated by Lombok. h2. Steps to replicate Create a class using Lombok {code:java} @Builder(toBuilder = true) @Data @AllArgsConstructor @ToString public class TestClass { private String label; private String source; private boolean isDroppable; private List<String> values; } {code} Check the serializer used for the class {code:java} var config = new ExecutionConfig(); TypeSerializer<?> serializer = TypeExtractor.getForClass(clazz) .createSerializer(config); System.out.println("Class: " + clazz + " Serializer: " + serializer);{code} h2. References Blogpost:w [https://www.linkedin.com/pulse/eliminating-kryo-serialisation-apache-flink-120-remove-jason-taylor-qoase/] Type extractor checks for method names: [https://github.com/apache/flink/blob/cddb14eddcd607daa9f74c3e276d68a4e614c014/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractor.java#L2034-L2036] was: When creating a POJO using Lombok, the getters and setters are automatically generated. It would be good for Flink to recognise the generated getters and setters generated by Lombok. h2. Steps to replicate Create a class using Lombok {code:java} @Builder(toBuilder = true) @Data @AllArgsConstructor @ToString public class Telemetry { private String label; private String source; private boolean isDroppable; private List<String> values; } {code} Check the serializer used for the class {code:java} var config = new ExecutionConfig(); TypeSerializer<?> serializer = TypeExtractor.getForClass(clazz) .createSerializer(config); System.out.println("Class: " + clazz + " Serializer: " + serializer);{code} h2. References Blogpost:w [https://www.linkedin.com/pulse/eliminating-kryo-serialisation-apache-flink-120-remove-jason-taylor-qoase/] Type extractor checks for method names: [https://github.com/apache/flink/blob/cddb14eddcd607daa9f74c3e276d68a4e614c014/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractor.java#L2034-L2036] > Flink TypeSerializer doesn't recognize valid POJO getters/setters generated > by Lombok > ------------------------------------------------------------------------------------- > > Key: FLINK-36612 > URL: https://issues.apache.org/jira/browse/FLINK-36612 > Project: Flink > Issue Type: Bug > Components: API / Type Serialization System > Affects Versions: 2.0.0, 1.20.1 > Reporter: Hong Liang Teoh > Priority: Major > > When creating a POJO using Lombok, the getters and setters are automatically > generated. > It would be good for Flink to recognise the generated getters and setters > generated by Lombok. > h2. Steps to replicate > Create a class using Lombok > {code:java} > @Builder(toBuilder = true) > @Data > @AllArgsConstructor > @ToString > public class TestClass { > > private String label; > private String source; > private boolean isDroppable; > private List<String> values; > } {code} > Check the serializer used for the class > {code:java} > var config = new ExecutionConfig(); > TypeSerializer<?> serializer = TypeExtractor.getForClass(clazz) > .createSerializer(config); > System.out.println("Class: " + clazz + " Serializer: " + > serializer);{code} > h2. References > Blogpost:w > [https://www.linkedin.com/pulse/eliminating-kryo-serialisation-apache-flink-120-remove-jason-taylor-qoase/] > Type extractor checks for method names: > [https://github.com/apache/flink/blob/cddb14eddcd607daa9f74c3e276d68a4e614c014/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractor.java#L2034-L2036] -- This message was sent by Atlassian Jira (v8.20.10#820010)