Thanks for sharing your feedback about FLIP-461 [1]. I addressed the
comments (also renaming the CheckpointLifecycleListener into
CheckpointStatsListener to have a less generic name for this internal
interface).

I will go ahead and start a vote on this proposal.

Matthias

[1]
https://cwiki.apache.org/confluence/display/FLINK/FLIP-461%3A+Synchronize+rescaling+with+checkpoint+creation+to+minimize+reprocessing+for+the+AdaptiveScheduler

On Fri, Jun 7, 2024 at 6:42 PM Matthias Pohl <mp...@confluent.io> wrote:

> Hi Zakelly,
> good point. I updated the FLIP to use "scale-on-failed-checkpoints-count"
> and "max-delay-for-scale-trigger".
>
> On Fri, Jun 7, 2024 at 12:18 PM Zakelly Lan <zakelly....@gmail.com> wrote:
>
>> Hi Matthias,
>>
>> Thanks for your reply!
>>
>> That's something that could be considered as another optimization. I would
>> > consider this as a possible follow-up. My concern here is that we'd make
>> > the rescaling configuration even more complicated by introducing yet
>> > another parameter.
>>
>>
>> I'd be fine with considering this as a follow-up.
>>
>> It might be worth renaming the internal interface into something that
>> > indicates its internal usage to avoid confusion.
>> >
>>
>> Agree with this.
>>
>> And another question:
>> I noticed the existing options under 'jobmanager.adaptive-scheduler' are
>> using the word 'scaling', e.g.
>> 'jobmanager.adaptive-scheduler.scaling-interval.min'. While in this FLIP
>> you choose 'rescale'. Would you mind unifying them?
>>
>>
>> Best,
>> Zakelly
>>
>>
>> On Thu, Jun 6, 2024 at 10:57 PM David Morávek <david.mora...@gmail.com>
>> wrote:
>>
>> > Thanks for the FLIP Matthias, I think it looks pretty solid!
>> >
>> > I also don't see a relation to unaligned checkpoints. From the AS
>> > perspective, the checkpoint time doesn't matter.
>> >
>> > Is it possible a change event observed right after a complete checkpoint
>> > > (or within a specific short time after a checkpoint) that triggers a
>> > > rescale immediately? Sometimes the checkpoint interval is huge and it
>> is
>> > > better to rescale immediately.
>> > >
>> >
>> > I had considered this initially too, but it feels like a possible
>> follow-up
>> > optimization.
>> >
>> > The primary objective of the proposed solution is to enhance overall
>> > predictability. With a longer checkpointing interval, the current
>> situation
>> > worsens as we might have to reprocess a substantial backlog.
>> >
>> > I think in the future we might actually want to enhance this by
>> triggering
>> > some kind of specialized "rescaling" checkpoint that prepares the
>> cluster
>> > for rescaling (eg. by replicating state to new slots / pre-splitting the
>> > db, ...), to make things faster.
>> >
>> > Best,
>> > D.
>> >
>> > On Wed, Jun 5, 2024 at 4:34 PM Matthias Pohl <map...@apache.org> wrote:
>> >
>> > > Hi Zakelly,
>> > > thanks for your reply. See my inlined responses below:
>> > >
>> > > On Wed, Jun 5, 2024 at 10:26 AM Zakelly Lan <zakelly....@gmail.com>
>> > wrote:
>> > >
>> > > > Hi Matthias,
>> > > >
>> > > > Thanks for your proposal! I have a few questions:
>> > > >
>> > > > 1. Is it possible a change event observed right after a complete
>> > > checkpoint
>> > > > (or within a specific short time after a checkpoint) that triggers a
>> > > > rescale immediately? Sometimes the checkpoint interval is huge and
>> it
>> > is
>> > > > better to rescale immediately.
>> > > >
>> > >
>> > > That's something that could be considered as another optimization. I
>> > would
>> > > consider this as a possible follow-up. My concern here is that we'd
>> make
>> > > the rescaling configuration even more complicated by introducing yet
>> > > another parameter.
>> > >
>> > >
>> > > > 2. Should we introduce `CheckpointLifecycleListener` instead of
>> reusing
>> > > > `CheckpointListener`? Is `CheckpointListener` enough for this
>> scenario?
>> > > >
>> > >
>> > > Good point, they are serving similar purposes. But I'm hesitant to use
>> > > CheckpointListener (which is a public interface) for this internal
>> quite
>> > > narrowly scoped runtime-specific use case of FLIP-461.
>> > >
>> > > It might be worth renaming the internal interface into something that
>> > > indicates its internal usage to avoid confusion.
>> > >
>> > >
>> > > > Best,
>> > > > Zakelly
>> > > >
>> > > > On Wed, Jun 5, 2024 at 3:02 PM Matthias Pohl <map...@apache.org>
>> > wrote:
>> > > >
>> > > > > Hi ConradJam,
>> > > > > thanks for your response.
>> > > > >
>> > > > > The CheckpointStatsTracker gets notified about the checkpoint
>> > > completion
>> > > > > after the checkpoint is finalized, i.e. all its data is persisted
>> and
>> > > the
>> > > > > metadata is written to the CompletedCheckpointStore. At this
>> moment,
>> > > the
>> > > > > checkpoint is considered for restoring a job and, therefore,
>> becomes
>> > > > > available for restarts. This workflow also applies to unaligned
>> > > > > checkpoints. But I see how this context might be helpful for
>> > > > understanding
>> > > > > the change. I will add it to the FLIP. So far, I don't see a
>> reason
>> > > > > to disable the feature for unaligned checkpoints. Do you see other
>> > > issues
>> > > > > that might make it necessary to disable this feature for this
>> type of
>> > > > > checkpoints?
>> > > > >
>> > > > > Can you elaborate a bit more what you mean by "checkpoints that do
>> > not
>> > > > > check it"? I do not fully understand what you are referring to
>> with
>> > > "it"
>> > > > > here.
>> > > > >
>> > > > > Best,
>> > > > > Matthias
>> > > > >
>> > > > > On Wed, Jun 5, 2024 at 4:46 AM ConradJam <jam.gz...@gmail.com>
>> > wrote:
>> > > > >
>> > > > > > I have a few questions:
>> > > > > > Unaligned checkpoints Do we need to enable this feature? Whether
>> > this
>> > > > > > feature should be disabled for checkpoints that do not check it
>> > > > > >
>> > > > > > Matthias Pohl <map...@apache.org> 于2024年6月4日周二 18:03写道:
>> > > > > >
>> > > > > > > Hi everyone,
>> > > > > > > I'd like to discuss FLIP-461 [1]. The FLIP proposes the
>> > > > synchronization
>> > > > > > of
>> > > > > > > rescaling and the completion of checkpoints. The idea is to
>> > reduce
>> > > > the
>> > > > > > > amount of data that needs to be processed after rescaling
>> > > happened. A
>> > > > > > more
>> > > > > > > detailed motivation can be found in FLIP-461.
>> > > > > > >
>> > > > > > > I'm looking forward to feedback and suggestions.
>> > > > > > >
>> > > > > > > Best,
>> > > > > > > Matthias
>> > > > > > >
>> > > > > > > [1]
>> > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-461%3A+Synchronize+rescaling+with+checkpoint+creation+to+minimize+reprocessing
>> > > > > > >
>> > > > > >
>> > > > > >
>> > > > > > --
>> > > > > > Best
>> > > > > >
>> > > > > > ConradJam
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>

Reply via email to