You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Yanfei Lei (Jira)" <ji...@apache.org> on 2023/03/08 06:43:00 UTC
[jira] [Commented] (FLINK-31356) Serialize garbled characters at checkpoint
[ https://issues.apache.org/jira/browse/FLINK-31356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17697746#comment-17697746 ]
Yanfei Lei commented on FLINK-31356:
------------------------------------
Did any POJO fields update when restoring? Is it related to https://issues.apache.org/jira/browse/FLINK-21752?
A common cause of "java.io.UTFDataFormatException: malformed input around byte" is the read and write in serializer are not symmetrical.
> Serialize garbled characters at checkpoint
> ------------------------------------------
>
> Key: FLINK-31356
> URL: https://issues.apache.org/jira/browse/FLINK-31356
> Project: Flink
> Issue Type: Bug
> Components: API / Type Serialization System
> Affects Versions: 1.13.6
> Reporter: John
> Priority: Major
>
>
> {panel:title=The last checkpoint of the program was successful}
> 2023-03-07 08:33:16,085 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Triggering checkpoint 39126 (type=CHECKPOINT) @ 1678149196059 for job 8b5720a4a40f50b995c97c6fe5b93079.
> 2023-03-07 08:33:16,918 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Completed checkpoint 39126 for job 8b5720a4a40f50b995c97c6fe5b93079 (71251394 bytes in 849 ms).
> 2023-03-07 08:33:16,918 INFO org.apache.flink.runtime.source.coordinator.SourceCoordinator [] - Marking checkpoint 39126 as completed for source Source: kafkaDataStream.
> 2023-03-07 08:36:10,444 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph [] - Sink: mysqlSink (1/2) (898af6700ac9cd087c763cef0b5585d4) switched from RUNNING to FAILED on container_e38_1676011848026_0012_01_000002 @ xxxx (dataPort=44633).
> java.lang.RuntimeException: Writing records to JDBC failed.
> at org.apache.flink.connector.jdbc.internal.JdbcBatchingOutputFormat.checkFlushException(JdbcBatchingOutputFormat.java:153) ~[flink-connector-jdbc_2.11-1.13.6.jar:1.13.6]
> {panel}
> {panel:title=But from this checkpoint restore, it can't be decoded}
> Caused by: org.apache.flink.util.FlinkException: Could not restore keyed state backend for WindowOperator_a1b6a20a1eb2801464c79c8d018a24d1_(1/2) from any of the 1 provided restore options.
> at org.apache.flink.streaming.api.operators.BackendRestorerProcedure.createAndRestore(BackendRestorerProcedure.java:160) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.keyedStatedBackend(StreamTaskStateInitializerImpl.java:345) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:163) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> ... 10 more
> Caused by: org.apache.flink.runtime.state.BackendBuildingException: Failed when trying to restore heap backend
> at org.apache.flink.runtime.state.heap.HeapKeyedStateBackendBuilder.restoreState(HeapKeyedStateBackendBuilder.java:177) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.heap.HeapKeyedStateBackendBuilder.build(HeapKeyedStateBackendBuilder.java:111) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.hashmap.HashMapStateBackend.createKeyedStateBackend(HashMapStateBackend.java:131) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.hashmap.HashMapStateBackend.createKeyedStateBackend(HashMapStateBackend.java:73) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.StateBackend.createKeyedStateBackend(StateBackend.java:136) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.lambda$keyedStatedBackend$1(StreamTaskStateInitializerImpl.java:328) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.BackendRestorerProcedure.attemptCreateAndRestore(BackendRestorerProcedure.java:168) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.BackendRestorerProcedure.createAndRestore(BackendRestorerProcedure.java:135) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.keyedStatedBackend(StreamTaskStateInitializerImpl.java:345) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:163) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> ... 10 more
> Caused by: java.io.UTFDataFormatException: malformed input around byte 32
> at java.io.DataInputStream.readUTF(DataInputStream.java:656) ~[?:1.8.0_201]
> at java.io.DataInputStream.readUTF(DataInputStream.java:564) ~[?:1.8.0_201]
> at org.apache.flink.api.java.typeutils.runtime.PojoSerializer.deserialize(PojoSerializer.java:379) ~[flink-core-1.13.6.jar:1.13.6]
> at org.apache.flink.api.common.typeutils.base.MapSerializer.deserialize(MapSerializer.java:155) ~[flink-core-1.13.6.jar:1.13.6]
> at org.apache.flink.api.common.typeutils.base.MapSerializer.deserialize(MapSerializer.java:43) ~[flink-core-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.heap.StateTableByKeyGroupReaders.lambda$createV2PlusReader$0(StateTableByKeyGroupReaders.java:79) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.KeyGroupPartitioner$PartitioningResultKeyGroupReader.readMappingsInKeyGroup(KeyGroupPartitioner.java:297) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.heap.HeapRestoreOperation.readKeyGroupStateData(HeapRestoreOperation.java:258) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.heap.HeapRestoreOperation.readStateHandleStateData(HeapRestoreOperation.java:220) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.heap.HeapRestoreOperation.restore(HeapRestoreOperation.java:166) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.heap.HeapRestoreOperation.restore(HeapRestoreOperation.java:62) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.heap.HeapKeyedStateBackendBuilder.restoreState(HeapKeyedStateBackendBuilder.java:174) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.heap.HeapKeyedStateBackendBuilder.build(HeapKeyedStateBackendBuilder.java:111) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.hashmap.HashMapStateBackend.createKeyedStateBackend(HashMapStateBackend.java:131) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.hashmap.HashMapStateBackend.createKeyedStateBackend(HashMapStateBackend.java:73) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.runtime.state.StateBackend.createKeyedStateBackend(StateBackend.java:136) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.lambda$keyedStatedBackend$1(StreamTaskStateInitializerImpl.java:328) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.BackendRestorerProcedure.attemptCreateAndRestore(BackendRestorerProcedure.java:168) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.BackendRestorerProcedure.createAndRestore(BackendRestorerProcedure.java:135) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.keyedStatedBackend(StreamTaskStateInitializerImpl.java:345) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:163) ~[flink-dist_2.11-1.13.6.jar:1.13.6]
> {panel}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)