Hi Sebastien, As a general rule of thumb our examples should just be based on GA features and should work without limitations. ForStStateBackend is under development so I think we should rollback to v1. I'm pretty sure we're going to reach a development phase where this is going to work but we're not yet there.
BR, G On Thu, Feb 12, 2026 at 11:13 AM Sebastien Pereira <[email protected]> wrote: > 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 > <http://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 > <http://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 > <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 > <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 > <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 >
