Hi everyone, We are using Managed Flink in AWS wi...
# troubleshooting
m
Hi everyone, We are using Managed Flink in AWS with the flink version 1.18.1. We want to upgrade our flink jobs to 2.x for java 17 support and more libraries etc, however our flink job has state that is serialized using the kryo serializer (since we are using object types that are not considered POJOs). The kryo serializer state is backward incompatible when upgrading from 1.18.x to 2.x since the kryo serializer version is different and they uses different binary compatibilities. (src: docs.aws.amazon.com/managed-flink/latest/java/state-compatibility.html#…) Is there any way to restore the state and still upgrade to 2.x, or the only way is to skip state restoration and rely on the source to build up the state? Or is there any way to change the serializer used in flink 1.18x before upgrading? Any inputs would be helpful Thank you in advance! P.S We cannot do state manipulation using the state processor api since the snapshots etc are managed by AWS and the absolute paths cannot be accessed
f
Unless I’m missing something new I don’t think there is anyway forward here with AWS 😞. You cannot access checkpoint/savepoint data so the options are quite limited, we’ve even tried to get access to a savepoint with an AWS support ticket and were unable to. I think your best bet may be standing up a new version of this job on Flink 2.x and running it in parallel with the existing one until its state is backfilled.
m
Ohh thats unfortunate, thanks for the suggestion though @Francis Altomare appreciate it!
f
Flink 2 on AWS also doesn’t support ForSt/Async state if you were looking to use some of those features
😮 1