You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Antonio Si (Jira)" <ji...@apache.org> on 2021/10/20 00:29:00 UTC

[jira] [Commented] (BEAM-11583) InvalidClassException when upgrading from v2.23 to v.26

    [ 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)