[
https://issues.apache.org/jira/browse/BEAM-11583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17430822#comment-17430822
]
Antonio Si commented on BEAM-11583:
-----------------------------------
Hi,
I would like to followup with this issue. I am wondering would defining a
serialVersionUID would at least make this class compatible with future
releases? Recently, I am working on a tool to read states from Beam 2.23
savepoints using state processing api and work around this issue in a hacky
way. It would be good if this class could be compatible at least with future
releases.
Thanks.
> InvalidClassException when upgrading from v2.23 to v.26
> -------------------------------------------------------
>
> Key: BEAM-11583
> URL: https://issues.apache.org/jira/browse/BEAM-11583
> Project: Beam
> Issue Type: Bug
> Components: runner-flink
> Affects Versions: 2.26.0
> Reporter: Antonio Si
> Priority: P3
>
> We were using Beam v2.23 and recently, we are testing upgrade to Beam v2.26.
> For Beam v2.26, we are passing --experiments=use_deprecated_read and
> --fasterCopy=true. We run into this exception when we resume our pipeline:
> {noformat}
> Caused by: java.io.InvalidClassException:
> org.apache.beam.runners.flink.translation.types.CoderTypeSerializer; local
> class incompatible: stream classdesc serialVersionUID = 5241803328188007316,
> local class serialVersionUID = 7247319138941746449 at
> java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699) at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1942) at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1808) at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2099) at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625) at
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:465) at
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:423) at
> org.apache.flink.api.common.typeutils.TypeSerializerSerializationUtil$TypeSerializerSerializationProxy.read(TypeSerializerSerializationUtil.java:301)
> at
> org.apache.flink.api.common.typeutils.TypeSerializerSerializationUtil.tryReadSerializer(TypeSerializerSerializationUtil.java:116)
> at
> org.apache.flink.api.common.typeutils.TypeSerializerConfigSnapshot.readSnapshot(TypeSerializerConfigSnapshot.java:113)
> at
> org.apache.flink.api.common.typeutils.TypeSerializerSnapshot.readVersionedSnapshot(TypeSerializerSnapshot.java:174)
> at
> org.apache.flink.api.common.typeutils.TypeSerializerSnapshotSerializationUtil$TypeSerializerSnapshotSerializationProxy.deserializeV2(TypeSerializerSnapshotSerializationUtil.java:179)
> at
> org.apache.flink.api.common.typeutils.TypeSerializerSnapshotSerializationUtil$TypeSerializerSnapshotSerializationProxy.read(TypeSerializerSnapshotSerializationUtil.java:150)
> at
> org.apache.flink.api.common.typeutils.TypeSerializerSnapshotSerializationUtil.readSerializerSnapshot(TypeSerializerSnapshotSerializationUtil.java:76)
> at
> org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshotReadersWriters$CurrentReaderImpl.readStateMetaInfoSnapshot(StateMetaInfoSnapshotReadersWriters.java:219)
> at
> org.apache.flink.runtime.state.OperatorBackendSerializationProxy.read(OperatorBackendSerializationProxy.java:119)
> at
> org.apache.flink.runtime.state.OperatorStateRestoreOperation.restore(OperatorStateRestoreOperation.java:83)
> It looks like it is not able to deserialize objects from our existing
> checkpoints.{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)