Hi ConradJam,

That assumes that it will be possible to upgrade statefully to Flink 2.0:
given that it is a major breaking change, I wouldn't assume that will be
possible.

Best regards,

Martijn

On Mon, Jun 5, 2023 at 2:37 PM ConradJam <jam.gz...@gmail.com> wrote:

> Here I have a suggestion, because I mentioned Flink2.0 earlier, I am
> wondering if there is a possibility: whether the user can perform the
> migration of all states to Kryo5 when performing the first start-up
> task of migrating to version 2.0 in the future, until we give up
> maintaining Kryo2 later
>
> Don't know if my idea coincides with Chesnay's
>
> Chesnay Schepler <ches...@apache.org> 于2023年6月1日周四 23:25写道:
> >
> > The version in the state is the serializer version, and applies to the
> > entire state, independent of what it contains.
> > If you use Kryo2 for reading and Kryo5 for writing (which also implies
> > writing the new serializer version into state), then I'd assume that a
> > migration is an all-or-nothing kind of deal.
> > IOW, you'd have to load a savepoint and write out an entirely new
> > savepoint with the new state.
> > Otherwise you may have only re-written part of the checkpoint, and now
> > contains a mix of Kryo2/Kryo5 serialized classes, which should then fail
> > _hard_ on any recovery attempt because we wouldn't use Kryo2 to read
> > anything.
> >
> > If I'm right, then as is this sounds like quite a trap for users to fall
> > into because from what I gathered this is the default behavior in the PR
> > (I could be wrong though since I haven't fully dug through the 8k lines
> > PR yet...)
> >
> > What we kind of want is this:
> > 1) Kryo5 is used as the default for new jobs. (maybe not even that,
> > making it an explicit opt-in)
> > 2) Kryo2 is used for reading AND writing for existing* jobs by default.
> > 3) Users can explicitly (and easily!) do a full migration of their jobs,
> > after which 2) should no longer apply.
> >
> >
> >
> > In the PR you mentioned running into issues on Java 17; to have have
> > some error stacktraces and examples data/serializers still around?
> >
> > On 30/05/2023 00:38, Kurt Ostfeld wrote:
> > >> I’d assumed that there wasn’t a good way to migrate state stored with
> an older version of Kryo to a newer version - if you’ve solved that, kudos.
> > > I hope I've solved this. The pull request is supposed to do exactly
> this. Please let me know if you can propose a scenario that would break
> this.
> > >
> > > The pull-request has both Kryo 2.x and 5.x dependencies. It looks at
> the state version number written to the state to determine which version of
> Kryo to use for deserialization. Kryo 2.x is not used to write new state.
> > >
> > > ------- Original Message -------
> > > On Monday, May 29th, 2023 at 5:17 PM, Ken Krugler <
> kkrugler_li...@transpac.com> wrote:
> > >
> > >
> > >>
> > >> Hi Kurt,
> > >>
> > >> I personally think it’s a very nice improvement, and that the
> longer-term goal of removing built-in Kryo support for state serialization
> (while a good one) warrants a separate FLIP.
> > >>
> > >> Perhaps an intermediate approach would be to disable the use of Kryo
> for state serialization by default, and force a user to disregard warnings
> and explicitly enable it if they want to go down that path.
> > >>
> > >> I’d assumed that there wasn’t a good way to migrate state stored with
> an older version of Kryo to a newer version - if you’ve solved that, kudos.
> > >>
> > >> — Ken
> > >>
> > >>
> > >>> On May 29, 2023, at 2:21 PM, Kurt Ostfeld
> kurtostf...@proton.me.INVALID wrote:
> > >>>
> > >>> Hi everyone. I would like to start the discussion thread for
> FLIP-317: Upgrade Kryo from 2.24.0 to 5.5.0 [1].
> > >>>
> > >>> There is a pull-request associated with this linked in the FLIP.
> > >>>
> > >>> I'd particularly like to hear about:
> > >>>
> > >>> - Chesnay Schepler's request to consider removing Kryo serializers
> from the execution config. Is this a reasonable task to add into this FLIP?
> Is there consensus on how to resolve that? Would that be better addressed
> in a separate future FLIP after the Kryo upgrade FLIP is completed?
> > >>>
> > >>> - Backwards compatibility. The automated CI tests have a lot of
> backwards compatibility tests that are passing. I also wrote a Flink
> application with keyed state using custom Kryo v2 serializers and then an
> upgraded version with both Kryo v2 and Kryo v5 serializers to stress test
> the upgrade process. I'd like to hear about additional scenarios that need
> to be tested.
> > >>>
> > >>> - Is this worth pursuing or is the Flink project looking to go in a
> different direction? I'd like to do some more work on the pull request if
> this is being seriously considered for adoption.
> > >>>
> > >>> I'm looking forward to hearing everyone's feedback and suggestions.
> > >>>
> > >>> Thank you,
> > >>> Kurt
> > >>>
> > >>> [1]
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-317%3A+Upgrade+Kryo+from+2.24.0+to+5.5.0
> > >>
> > >> --------------------------
> > >> Ken Krugler
> > >> http://www.scaleunlimited.com
> > >> Custom big data solutions
> > >> Flink, Pinot, Solr, Elasticsearch
> > >>
> >
>
>
> --
> Best
>
> ConradJam
>

Reply via email to