Hi Elias, could you check whether the `TypeInformation` returned by `TypeInformation.of(new TypeHint[ConfigState]() {}))` and `createTypeInformation[ConfigState]` return the same `TypeInformation` subtype? The problem is that the former goes through the Java TypeExtractor whereas the latter goes through the Scala `TypeUtils#createTypeInfo` where the resulting `TypeInformation` is created via Scala macros. It must be the case that the Scala `TypeUtils` generate a different `TypeInformation` (e.g. Java generating a GenericTypeInfo whereas Scala generates a TraversableTypeInfo).
It would also be helpful if you could share the definition of `ConfigState` in order to test it ourselves. Cheers, Till On Fri, Jul 6, 2018 at 11:31 PM Elias Levy <fearsome.lucid...@gmail.com> wrote: > During some refactoring we changed a job using managed state from: > > ListStateDescriptor("config", TypeInformation.of(new > TypeHint[ConfigState]() {})) > > to > > ListStateDescriptor("config", createTypeInformation[ConfigState]) > > After this change, Flink refused to start the new job from a savepoint or > checkpoint, raising StateMigrationException instead. > > Why is Flink raising this error? Both TypeInformation.of and > createTypeInformation return TypeInformation[ConfigState], so why does it > think the state type has changed? >