You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by 李诗君 <li...@126.com> on 2021/12/15 10:26:13 UTC

Re: stateSerializer(1.14.0) not compatible with previous stateSerializer(1.13.1)

Hi, Im using Flink-SQL, so maybe it is the default kryo serializer.

> 2021年12月10日 下午4:15,Roman Khachatryan <ro...@apache.org> 写道:
> 
> Hi,
> 
> Compatibility might depend on specific serializers,
> could you please share which serializers you use to access the state?
> 
> Regards,
> Roman
> 
> On Fri, Dec 10, 2021 at 3:41 AM 李诗君 <li...@126.com> wrote:
>> 
>> I am trying to upgrade my flink cluster version from 1.13.1 to 1.14.0 , I did like below steps:
>> 
>> 1. savepoint running tasks in version1.13.1
>> 2. stop tasks and upgrade cluster version to 1.14.0
>> 3. recover tasks with savepoints
>> 
>> and this happened:
>> 
>> 
>> java.lang.RuntimeException: Error while getting state
>> at org.apache.flink.runtime.state.DefaultKeyedStateStore.getState(DefaultKeyedStateStore.java:62) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.streaming.api.operators.StreamingRuntimeContext.getState(StreamingRuntimeContext.java:203) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.table.runtime.operators.aggregate.GroupAggFunction.open(GroupAggFunction.java:119) ~[flink-table_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:34) ~[flink-fsp-connector-rksc-1.0-SNAPSHOT.jar:?]
>> at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:100) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.streaming.api.operators.KeyedProcessOperator.open(KeyedProcessOperator.java:55) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.initializeStateAndOpenOperators(RegularOperatorChain.java:110) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.streaming.runtime.tasks.StreamTask.restoreGates(StreamTask.java:711) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.call(StreamTaskActionExecutor.java:55) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.streaming.runtime.tasks.StreamTask.restoreInternal(StreamTask.java:687) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.streaming.runtime.tasks.StreamTask.restore(StreamTask.java:654) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:958) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:927) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:766) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:575) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_282]
>> Caused by: org.apache.flink.util.StateMigrationException: The new state serializer (org.apache.flink.runtime.state.ttl.TtlStateFactory$TtlSerializer@a508b39e) must not be incompatible with the old state serializer (org.apache.flink.runtime.state.ttl.TtlStateFactory$TtlSerializer@a508b39e).
>> at org.apache.flink.contrib.streaming.state.RocksDBKeyedStateBackend.updateRestoredStateMetaInfo(RocksDBKeyedStateBackend.java:704) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.contrib.streaming.state.RocksDBKeyedStateBackend.tryRegisterKvStateInformation(RocksDBKeyedStateBackend.java:624) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.contrib.streaming.state.RocksDBKeyedStateBackend.createInternalState(RocksDBKeyedStateBackend.java:837) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.state.ttl.TtlStateFactory.createTtlStateContext(TtlStateFactory.java:225) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.state.ttl.TtlStateFactory.createValueState(TtlStateFactory.java:148) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.state.ttl.TtlStateFactory.createState(TtlStateFactory.java:132) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.state.ttl.TtlStateFactory.createStateAndWrapWithTtlIfEnabled(TtlStateFactory.java:72) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.state.AbstractKeyedStateBackend.getOrCreateKeyedState(AbstractKeyedStateBackend.java:302) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.state.AbstractKeyedStateBackend.getPartitionedState(AbstractKeyedStateBackend.java:353) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.state.DefaultKeyedStateStore.getPartitionedState(DefaultKeyedStateStore.java:115) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> at org.apache.flink.runtime.state.DefaultKeyedStateStore.getState(DefaultKeyedStateStore.java:60) ~[flink-dist_2.12-1.14.0.jar:1.14.0]
>> ... 15 more