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

Reply via email to