Thanks Junrui for the updates. The proposal looks good to me.
With the stream graph added to the REST API result, I think we are
also quite close to enable Flink to expand a job vertex to show its
operator-chain topology.

Thanks,
Zhu

Junrui Lee <jrlee....@gmail.com> 于2024年7月15日周一 14:58写道:

> Hi Zhu,
>
> Thanks for your feedback.
>
> Following your suggestion, I have updated the public interface section of
> the FLIP with the following additions:
>
> 1. UI:
> The job topology will display a hybrid of the current JobGraph along with
> downstream components yet to be converted to a StreamGraph. On the topology
> graph display page, there will be a "Show Pending Operators" button in the
> upper right corner for users to switch back to a job topology that only
> includes JobVertices.
>
> 2. Rest API:
> Add a new field "stream-graph-plan" will be added to the job details REST
> API, which represents the runtime Stream graph. The field "job-vertex-id"
> is valid only when the StreamNode has been converted to a JobVertex, and it
> will hold the ID of the corresponding JobVertex for that StreamNode.
>
> For further information, please feel free to review the public interface
> section of FLIP-469
>
> Best,
> Junrui
>
> Zhu Zhu <reed...@gmail.com> 于2024年7月15日周一 10:29写道:
>
> > +1 for the FLIP
> >
> > It is useful to adaptively optimize logical execution plans(stream
> > operators and
> > stream edges) for batch jobs.
> >
> > One question:
> > The FLIP already proposed to update the REST API & Web UI to show
> operators
> > that are not yet converted to job vertices. However, I think it would be
> > better if Flink can display these operators as part of the graph,
> allowing
> > users to have an overview of the processing logic graph at early stages
> of
> > the job execution.
> > This change would also involve the public interface, so instead of
> > postponing
> > it to a later FLIP, I prefer to have a design for it in this FLIP. WDYT?
> >
> > Thanks,
> > Zhu
> >
> > Junrui Lee <jrlee....@gmail.com> 于2024年7月11日周四 11:27写道:
> >
> > > Hi devs,
> > >
> > > Xia Sun, Lei Yang, and I would like to initiate a discussion about
> > > FLIP-469: Supports Adaptive Optimization of StreamGraph.
> > >
> > > This FLIP is the second in the series on adaptive optimization of
> > > StreamGraph and follows up on FLIP-468 [1]. As we proposed in FLIP-468
> to
> > > enable the scheduler to recognize and access the StreamGraph, in this
> > FLIP,
> > > we will propose a mechanism for adaptive optimization of StreamGraph.
> It
> > > allows the scheduler to dynamically adjust the logical execution plan
> at
> > > runtime. This mechanism is the base of adaptive optimization
> strategies,
> > > such as adaptive broadcast join and skewed join optimization.
> > >
> > > Unlike the traditional execution of jobs based on a static StreamGraph,
> > > this mechanism will progressively determine StreamGraph during runtime.
> > The
> > > determined StreamGraph will be transformed into a specific JobGraph,
> > while
> > > the indeterminate part will allow Flink to flexibly adjust according to
> > > real-time job status and actual input conditions.
> > >
> > > Note that this FLIP focuses on the introduction of the mechanism and
> does
> > > not introduce any actual optimization strategies; these will be
> discussed
> > > in subsequent FLIPs.
> > >
> > > For more details, please refer to FLIP-469 [2]. We look forward to your
> > > feedback.
> > >
> > > Best,
> > >
> > > Xia Sun, Lei Yang and Junrui Lee
> > >
> > > [1]
> > >
> > >
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-468%3A+Introducing+StreamGraph-Based+Job+Submission
> > > [2]
> > >
> > >
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-469%3A+Supports+Adaptive+Optimization+of+StreamGraph
> > >
> >
>

Reply via email to