Ygor Allan de Fraga created FLINK-22761:
-------------------------------------------
Summary: Cannot remove POJO fields
Key: FLINK-22761
URL: https://issues.apache.org/jira/browse/FLINK-22761
Project: Flink
Issue Type: Bug
Components: API / Type Serialization System
Affects Versions: 1.12.1
Reporter: Ygor Allan de Fraga
I tested a schema evolution in a state using POJO and no problem was found when
trying to add a new field, it was executed just fine. This same field was
removed from the POJO as it was just a test, but the application could not
restore the state due to an error.
Here is the error:
{code:java}
2021-05-24 13:05:31,958 WARN org.apache.flink.runtime.taskmanager.Task
[] - Co-Flat Map -> Map (3/3)#464 (e0e6d41a18214eab0a1d3c089d8672de)
switched from RUNNING to FAILED.2021-05-24 13:05:31,958 WARN
org.apache.flink.runtime.taskmanager.Task [] - Co-Flat Map
-> Map (3/3)#464 (e0e6d41a18214eab0a1d3c089d8672de) switched from RUNNING to
FAILED.java.lang.Exception: Exception while creating
StreamOperatorStateContext. at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:254)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.AbstractStreamOperator.initializeState(AbstractStreamOperator.java:272)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.runtime.tasks.OperatorChain.initializeStateAndOpenOperators(OperatorChain.java:425)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$2(StreamTask.java:535)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.runThrowing(StreamTaskActionExecutor.java:50)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:525)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:565)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:755)
[zdata-flink-streams.jar:0.1] at
org.apache.flink.runtime.taskmanager.Task.run(Task.java:570)
[zdata-flink-streams.jar:0.1] at java.lang.Thread.run(Thread.java:748)
[?:1.8.0_282]Caused by: org.apache.flink.util.FlinkException: Could not restore
keyed state backend for CoStreamFlatMap_b101f370952ea85c2104e98dd54bf7f9_(3/3)
from any of the 1 provided restore options. at
org.apache.flink.streaming.api.operators.BackendRestorerProcedure.createAndRestore(BackendRestorerProcedure.java:160)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.keyedStatedBackend(StreamTaskStateInitializerImpl.java:345)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:163)
~[zdata-flink-streams.jar:0.1] ... 9 moreCaused by:
org.apache.flink.runtime.state.BackendBuildingException: Caught unexpected
exception. at
org.apache.flink.contrib.streaming.state.RocksDBKeyedStateBackendBuilder.build(RocksDBKeyedStateBackendBuilder.java:361)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.RocksDBStateBackend.createKeyedStateBackend(RocksDBStateBackend.java:587)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.RocksDBStateBackend.createKeyedStateBackend(RocksDBStateBackend.java:93)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.lambda$keyedStatedBackend$1(StreamTaskStateInitializerImpl.java:328)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.BackendRestorerProcedure.attemptCreateAndRestore(BackendRestorerProcedure.java:168)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.BackendRestorerProcedure.createAndRestore(BackendRestorerProcedure.java:135)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.keyedStatedBackend(StreamTaskStateInitializerImpl.java:345)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:163)
~[zdata-flink-streams.jar:0.1] ... 9 moreCaused by:
java.lang.NullPointerException at
org.apache.flink.api.java.typeutils.runtime.PojoSerializer.<init>(PojoSerializer.java:119)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.api.java.typeutils.runtime.PojoSerializer.duplicate(PojoSerializer.java:184)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.api.java.typeutils.runtime.PojoSerializer.duplicate(PojoSerializer.java:56)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.api.java.typeutils.runtime.PojoSerializer.duplicate(PojoSerializer.java:170)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.api.java.typeutils.runtime.PojoSerializer.duplicate(PojoSerializer.java:56)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.api.common.typeutils.CompositeSerializer$PrecomputedParameters.precompute(CompositeSerializer.java:239)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.api.common.typeutils.CompositeSerializer.<init>(CompositeSerializer.java:52)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.runtime.state.ttl.TtlStateFactory$TtlSerializer.<init>(TtlStateFactory.java:270)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.runtime.state.ttl.TtlStateFactory$TtlSerializerSnapshot.createOuterSerializerWithNestedSerializers(TtlStateFactory.java:387)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.runtime.state.ttl.TtlStateFactory$TtlSerializerSnapshot.createOuterSerializerWithNestedSerializers(TtlStateFactory.java:354)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.api.common.typeutils.CompositeTypeSerializerSnapshot.restoreSerializer(CompositeTypeSerializerSnapshot.java:218)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.runtime.state.StateSerializerProvider.previousSchemaSerializer(StateSerializerProvider.java:186)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.runtime.state.StateSerializerProvider.currentSchemaSerializer(StateSerializerProvider.java:161)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.runtime.state.RegisteredKeyValueStateBackendMetaInfo.getStateSerializer(RegisteredKeyValueStateBackendMetaInfo.java:143)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.ttl.RocksDbTtlCompactFiltersManager.setAndRegisterCompactFilterIfStateTtl(RocksDbTtlCompactFiltersManager.java:73)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.RocksDBOperationUtils.createColumnFamilyDescriptor(RocksDBOperationUtils.java:167)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.RocksDBOperationUtils.createStateInfo(RocksDBOperationUtils.java:144)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.restore.AbstractRocksDBRestoreOperation.getOrRegisterStateColumnFamilyHandle(AbstractRocksDBRestoreOperation.java:178)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.restore.RocksDBFullRestoreOperation.restoreKVStateMetaData(RocksDBFullRestoreOperation.java:186)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.restore.RocksDBFullRestoreOperation.restoreKeyGroupsInStateHandle(RocksDBFullRestoreOperation.java:157)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.restore.RocksDBFullRestoreOperation.restore(RocksDBFullRestoreOperation.java:142)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.RocksDBKeyedStateBackendBuilder.build(RocksDBKeyedStateBackendBuilder.java:284)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.RocksDBStateBackend.createKeyedStateBackend(RocksDBStateBackend.java:587)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.contrib.streaming.state.RocksDBStateBackend.createKeyedStateBackend(RocksDBStateBackend.java:93)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.lambda$keyedStatedBackend$1(StreamTaskStateInitializerImpl.java:328)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.BackendRestorerProcedure.attemptCreateAndRestore(BackendRestorerProcedure.java:168)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.BackendRestorerProcedure.createAndRestore(BackendRestorerProcedure.java:135)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.keyedStatedBackend(StreamTaskStateInitializerImpl.java:345)
~[zdata-flink-streams.jar:0.1] at
org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:163)
~[zdata-flink-streams.jar:0.1] ... 9 more{code}
A _RocksDb_ state backend is being used along with _valueState_ __.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)