Re: Beam application upgrade on Flink crashes

2018-08-22 Thread Aljoscha Krettek
Hi, Unfortunately, there are currently no compatibility guarantees between different Beam versions. Beam itself doesn't have the required interfaces or procedures in place for supporting backwards compatibility of state and there have been quite some changes in the internals between Flink 1.4 a

Re: Beam application upgrade on Flink crashes

2018-08-22 Thread Jozef Vilcek
Hm, I am sorry to hear this. I must of missed it in docs, that beam version upgrades can break flink state. It is important information for ones wanting to use Beam on Flink in production. So, I guess there is no guarantee for another bump of Flink version to not break things until it reach 1.7. E

Re: Beam application upgrade on Flink crashes

2018-08-21 Thread Stephan Ewen
Flink 1.7 will change the way the "restore serializer" is handled, which should make it much easier to handle such cases. Especially breaking java class version format will not be an issue anymore. That should help to make it easier to give the Beam-on-Flink runner cross version compatibility. O

Re: Beam application upgrade on Flink crashes

2018-08-20 Thread Maximilian Michels
AFAIK the serializer used here is the CoderTypeSerializer which may not be recoverable because of changes to the contained Coder (TaggedKvCoder). It doesn't currently have a serialVersionUID, so even small changes could break serialization backwards-compatibility. As of now Beam doesn't offer the

Re: Beam application upgrade on Flink crashes

2018-08-20 Thread Stephan Ewen
Hi Jozef! When restoring state, the serializer that created the state must still be available, so the state can be read. It looks like some serializer classes were removed between Beam versions (or changed in an incompatible manner). Backwards compatibility of an operator implementation needs coo

Beam application upgrade on Flink crashes

2018-08-20 Thread Jozef Vilcek
Hello, I am attempting to upgrade Beam app from 2.5.0 running on Flink 1.4.0 to Beam 2.6.0 running on Flink 1.5.0. I am not aware of any state migration changes needed for Flink 1.4.0 -> 1.5.0 so I am just starting a new App with updated libs from Flink save-point captured by previous version of