Tzu-Li (Gordon) Tai created FLINK-8421: ------------------------------------------
Summary: HeapInternalTimerService should reconfigure compatible key / namespace serializers on restore Key: FLINK-8421 URL: https://issues.apache.org/jira/browse/FLINK-8421 Project: Flink Issue Type: Bug Affects Versions: 1.4.0, 1.5.0 Reporter: Tzu-Li (Gordon) Tai Priority: Blocker Fix For: 1.3.3, 1.5.0, 1.4.1 The {{HeapInternalTimerService}} still uses simple {{equals}} checks on restored / newly provided serializers for compatibility checks. This should be replaced with the {{TypeSerializer::ensureCompatibility}} checks instead, so that new serializers can be reconfigured. For Flink 1.4.0 release and current master, this is a critical bug since the {{KryoSerializer}} has different default base registrations than before due to FLINK-7420. i.e if the key of a window is serialized using the {{KryoSerializer}} in 1.3.x, the restore would never succeed in 1.4.0. For 1.3.x, this fix would be an improvement, such that the {{HeapInternalTimerService}} restore will make use of serializer reconfiguration. Other remarks: * We need to double check all operators that checkpoint / restore from **raw** state. Apparently, the serializer compatibility checks were only implemented for managed state. * Migration ITCases apparently do not have enough coverage. A migration test job that uses a key type which required the {{KryoSerializer}}, and uses windows, would have caught this issue. -- This message was sent by Atlassian JIRA (v6.4.14#64029)