Skip to content

[FLINK-38899][runtime-web] Introduce the Rescales/History sub-page for streaming jobs with the adaptive scheduler enabled#27874

Open
och5351 wants to merge 1 commit intoapache:masterfrom
och5351:FLINK-38899
Open

[FLINK-38899][runtime-web] Introduce the Rescales/History sub-page for streaming jobs with the adaptive scheduler enabled#27874
och5351 wants to merge 1 commit intoapache:masterfrom
och5351:FLINK-38899

Conversation

@och5351
Copy link
Copy Markdown

@och5351 och5351 commented Apr 1, 2026

What is the purpose of the change

  • [FLINK-38899][runtime-web] Introduce the Rescales/History sub-page for streaming jobs with the adaptive scheduler enabled
  • The pr is not blocked by FLIP-495 completion and is independent sub-task in FLIP-487.

Brief change log

Adds the 'Rescales/History' tab and 'HistoryDetail' subpage in relation to [FLINK-38897][Runtime/REST] Introduce /jobs/:jobid/rescales/config endpoint to REST API #27580.

Dependent PRs

Rescales History Tab

image

Rescales HistoryDetail page

image

Verifying this change

Reference
#27826

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): (yes / no)
  • The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
  • The serializers: (yes / no / don't know)
  • The runtime per-record code paths (performance sensitive): (yes / no / don't know)
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
  • The S3 file system connector: (yes / no / don't know)

Documentation

  • Does this pull request introduce a new feature? (yes / no)
  • If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

…r streaming jobs with the adaptive scheduler enabled
@flinkbot
Copy link
Copy Markdown
Collaborator

flinkbot commented Apr 1, 2026

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

@RocMarshal RocMarshal self-assigned this Apr 1, 2026
Copy link
Copy Markdown
Contributor

@RocMarshal RocMarshal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, @och5351 Thank you for your hard work.

LGTM on the whole, just a few of comments.
PTAL in your free time :)

Comment on lines +21 to +48
export interface RescalesHistory {
rescaleUuid: string;
resourceRequirementsUuid: string;
rescaleAttemptId: number;
vertices: object;
slots: object;
schedulerStates: unknown[];
startTimestampInMillis: number;
endTimestampInMillis: number;
terminalState: string;
triggerCause: string;
terminatedReason: string;
expand?: boolean;
}

export interface RescalesDetailHistory {
rescaleUuid: string;
resourceRequirementsUuid: string;
rescaleAttemptId: number;
vertices: { [vertexId: string]: RescaleVertex };
slots: { [slotSharingGroupId: string]: RescaleSlot };
schedulerStates: SchedulerState[];
startTimestampInMillis: number;
endTimestampInMillis: number;
terminalState: string;
triggerCause: string;
terminatedReason: string;
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • What about renaming it to JobRescaleDetails(keep the same name as backend REST part)
  • What about merging the two interface into one for reusing( The corresponding class in backend is one class.)?
export interface JobRescaleDetails {
  rescaleUuid: string;
  resourceRequirementsUuid: string;
  rescaleAttemptId: number;
  vertices?: { [vertexId: string]: VertexParallelismRescaleInfo };
  slots?: { [slotSharingGroupId: string]: SlotSharingGroupRescaleInfo };
  schedulerStates?: SchedulerState[];
  startTimestampInMillis: number;
  endTimestampInMillis: number;
  terminalState: string;
  triggerCause: string;
  terminatedReason: string;
}

terminatedReason: string;
}

export interface RescaleVertex {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

->VertexParallelismRescaleInfo

postRescaleParallelism: number;
}

export interface RescaleSlot {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-> SlotSharingGroupRescaleInfo

acquiredResourceProfile: ResourceProfile;
}

export interface ResourceProfile {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-> ResourceProfileInfo

Comment on lines +89 to +93
{{ truncateUuid(history.rescaleUuid) }}
</td>
<td>{{ history.rescaleAttemptId }}</td>
<td nz-tooltip [nzTooltipTitle]="history.resourceRequirementsUuid">
{{ truncateUuid(history.resourceRequirementsUuid) }}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

truncateXXX nice!

Comment on lines +109 to +121
<p>
Rescale UUID:
{{ truncateUuid(history.rescaleUuid) }}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attempt ID:
{{ history.rescaleAttemptId }}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Requirements ID:
{{ truncateUuid(history.resourceRequirementsUuid) }}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Trigger Cause:
{{ history.triggerCause }} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Terminal State:
{{ history.terminalState }} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Terminal Reason: {{ history.terminatedReason }}
</p>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The part could reference the implementation of web-dashboard/src/app/pages/job/checkpoints/job-checkpoints.component.html

Image

stringifiedException: string;
}

export interface RescalesConfig {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
export interface RescalesConfig {
export interface JobRescaleConfigInfo {

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants