Hi all, I'm following up on FLINK-39061 [1] and wanted to reach out because I'm unsure about the best path forward and would value the community's input.
To summarize: The StateMachine example currently uses the State V2 API, which breaks canonical savepoint compatibility. This could be problematic for users following the example as a reference implementation. 1. Should the example be reverted to use the stable State API to maintain canonical savepoint compatibility? 2. Or should the example include documentation explicitly warning users about the State V2 API implications? 3. Is there a different approach the community would recommend? Would appreciate any feedback or guidance on whether this should be addressed and would be happy to help with changes if there's consensus on the approach. [1] https://issues.apache.org/jira/browse/FLINK-39061 Best regards, Seb P. On 10/02/2026, 18:48, "Sebastien Pereira (Jira)" <[email protected]> wrote: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable ----------------------------------------- Summary: StateMachine example uses State V2 API, breaking cano= nical savepoint compatibility and version upgrade workflow Key: FLINK-39061 URL: https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A= __issues.apache.org_jira_browse_FLINK-2D39061&d=3DDwIFaQ&c=3DBSDicqBQBDjDI9= RkVyTcHQ&r=3D0sZs1KZEg0CpfaYnaTDNBZAJABwYYOpaIlO5A6RouwU&m=3DjYEYwmo2B8Zfaf= 7Z_q9ISqh9nau_jbH4zgXotzXXSDPVHKppJ2byN_FIJ3mZadEs&s=3DbxliE2EZWOhl__HjRYES= 8ZptuQNaX4OUv6u1ZABS9x8&e=3D=20 Project: Flink Issue Type: Bug Components: Examples Affects Versions: 2.2.0, 2.1.0, 2.0.0 Reporter: Sebastien Pereira The StateMachine example was updated to use State V2 API [1], which breaks = canonical savepoint creation (default type).=C2=A0 Savepoint creation fails with *{{UnsupportedOperationException: Not support= ed yet}}* in the Jobmanager log. Problem found validating Flink 2.2.0 with Kubernetes Operator 1.13.0. Root = cause traced to State V2 pattern from example. Workaround: test savepointin= g using=C2=A0 TopSpeedWindowing example. I appreciate examples are usually meant to showcase new capabilities. Howev= er,=C2=A0 StateMachineExample is the only regular example migrated from Sta= te V1 to State V2, while other State V2 examples are located in the (dedica= ted?) {{/dsv2/}} directory [5]. *Should this example be reverted to State V1?* =E2=80=94 State V2 API requires ForSt state backend, which does not support canonical= savepoints according to the documentation [3] {quote}"ForStStateBackend: Does not support canonical savepoint, full snaps= hot, changelog and file-merging checkpoints." {quote} Per community discussion [4] {quote}"It is possible to migrate state across state backends via savepoint= s in canonical format, once we complete the savepoint support for ForSt. {*= }This may take some time.{*}" {quote} *Is canonical savepoint support for State V2/ForSt on the roadmap?* Per mailing list discussion [4], support is planned but timeline is unclear. *If canonical savepoint support is far off:* * How do users plan State V1 =E2=86=92 State V2 migration for version port= ability? * What guidance can be provided for production workflows? --- [1] Commit 759635d - Use async state in flink-examples-streaming: [https://= urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__github.com_apache_flink_comm= it_759635db069923233e7928af0c729285e739ada9&d=3DDwIFaQ&c=3DBSDicqBQBDjDI9Rk= VyTcHQ&r=3D0sZs1KZEg0CpfaYnaTDNBZAJABwYYOpaIlO5A6RouwU&m=3DjYEYwmo2B8Zfaf7Z= _q9ISqh9nau_jbH4zgXotzXXSDPVHKppJ2byN_FIJ3mZadEs&s=3DJj1tFjleE-LTlP3x1QM_D1= X_evtXZwyyenH50UsGaNg&e=3D ] [2] Upgrading Applications and Flink Versions: [https://urldefense.proofpoi= nt.com/v2/url?u=3Dhttps-3A__nightlies.apache.org_flink_flink-2Ddocs-2Dmaste= r_docs_ops_upgrading_&d=3DDwIFaQ&c=3DBSDicqBQBDjDI9RkVyTcHQ&r=3D0sZs1KZEg0C= pfaYnaTDNBZAJABwYYOpaIlO5A6RouwU&m=3DjYEYwmo2B8Zfaf7Z_q9ISqh9nau_jbH4zgXotz= XXSDPVHKppJ2byN_FIJ3mZadEs&s=3DbnSNbwy3ME89gJjdtipX9OX4DtxTOA_cZAXC3XCXvp8&= e=3D ] [3] State Backends Documentation: [https://urldefense.proofpoint.com/v2/url= ?u=3Dhttps-3A__nightlies.apache.org_flink_flink-2Ddocs-2Dmaster_docs_ops_st= ate_state-5Fbackends_&d=3DDwIFaQ&c=3DBSDicqBQBDjDI9RkVyTcHQ&r=3D0sZs1KZEg0C= pfaYnaTDNBZAJABwYYOpaIlO5A6RouwU&m=3DjYEYwmo2B8Zfaf7Z_q9ISqh9nau_jbH4zgXotz= XXSDPVHKppJ2byN_FIJ3mZadEs&s=3DLfPg-VSBtYoLuH0v18j8a5198rvkX8-V5mcTCNmU4Y8&= e=3D ] [4] Mailing list discussion - Flink V1 to V2 state migration (Nov 11, 2024)= : [https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__www.mail-2Darchiv= e.com_dev-40flink.apache.org_msg78875.html&d=3DDwIFaQ&c=3DBSDicqBQBDjDI9RkV= yTcHQ&r=3D0sZs1KZEg0CpfaYnaTDNBZAJABwYYOpaIlO5A6RouwU&m=3DjYEYwmo2B8Zfaf7Z_= q9ISqh9nau_jbH4zgXotzXXSDPVHKppJ2byN_FIJ3mZadEs&s=3D-0dmqoXDljoJ_5vEg_noyTt= Vxw2rbo5k8TqpbwLZRDI&e=3D ] [5] DataStream V2 examples directory: [https://urldefense.proofpoint.com/v2= /url?u=3Dhttps-3A__github.com_apache_flink_tree_release-2D2.2.0_flink-2Dexa= mples_flink-2Dexamples-2Dstreaming_src_main_java_org_apache_flink_streaming= _examples_dsv2&d=3DDwIFaQ&c=3DBSDicqBQBDjDI9RkVyTcHQ&r=3D0sZs1KZEg0CpfaYnaT= DNBZAJABwYYOpaIlO5A6RouwU&m=3DjYEYwmo2B8Zfaf7Z_q9ISqh9nau_jbH4zgXotzXXSDPVH= KppJ2byN_FIJ3mZadEs&s=3DdNwkW0Ajz3uqBT0T2vqvjBq_w77Nok9If8b7iy0wWmk&e=3D ] -- This message was sent by Atlassian Jira (v8.20.10#820010) Regards, Sebastien Pereira Unless otherwise stated above: Compagnie IBM France Siège Social : 17, avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 664 614 175,50 € SIRET : 552 118 465 03644 - Code NAF 6203Z
