Hi Yu, The exception is thrown after processing some input data instead of at the beginning of the input, right? Is there any possible that input schema has updated?
Nathan Yu <nuonathan...@twosigma.com> 于2021年8月13日周五 上午8:38写道: > · Using local environment: > StreamExecutionEnvironment.createLocalEnvironment() > > · Event is a POJO class, with int, double, enum, and String fields > > · Unfortunately it’s hard for me to reproduce in a small example, > as it seems to occur after 10e6+ events. > > · Using flink-core-1.12.4 > > > > Stack: > > Caused by: java.lang.IllegalArgumentException: Can not set final double > field com.twosigma.research.options.optticks.core.types.Event.askPrice to > java.lang.Integer > > at > java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > > at > java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > > at > java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) > > at > java.base/jdk.internal.reflect.UnsafeQualifiedDoubleFieldAccessorImpl.set(UnsafeQualifiedDoubleFieldAccessorImpl.java:77) > > at java.base/java.lang.reflect.Field.set(Field.java:780) > > at > org.apache.flink.api.java.typeutils.runtime.PojoSerializer.initializeFields(PojoSerializer.java:205) > > at > org.apache.flink.api.java.typeutils.runtime.PojoSerializer.deserialize(PojoSerializer.java:388) > > at > org.apache.flink.api.java.typeutils.runtime.PojoSerializer.deserialize(PojoSerializer.java:409) > > at > org.apache.flink.streaming.runtime.streamrecord.StreamElementSerializer.deserialize(StreamElementSerializer.java:191) > > at > org.apache.flink.streaming.runtime.streamrecord.StreamElementSerializer.deserialize(StreamElementSerializer.java:46) > > at > org.apache.flink.runtime.plugable.NonReusingDeserializationDelegate.read(NonReusingDeserializationDelegate.java:53) >