Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.9.1
-
None
-
None
Description
Flink fails to launch my Apache Beam job which uses windowing function with time zone. Closure cleaner reports time zone as not serializable. Part of stack trace:
org.joda.time.tz.DateTimeZoneBuilder$OfYear@3b035d0c is not serializable. The object probably contains or references non serializable fields. org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:151) org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126) org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126) org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126) org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126) org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126) org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126) org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:71) org.apache.flink.api.java.DataSet.clean(DataSet.java:186) org.apache.flink.api.java.DataSet.flatMap(DataSet.java:267) ....
Actual instance of DateTimeZone is PrecalculatedZone which itself is serializable but it's fields are not necessarily standalone java serializable, because enclosing class it managing their serialization and deserialization.