From b9f512df14786face859a2e883c31dd3df0e116e Mon Sep 17 00:00:00 2001 From: Purushottam Sinha Date: Thu, 16 Jul 2026 08:05:25 +0530 Subject: [PATCH] [FLINK-40118][runtime-web] Use REST endpoint field instead of removed host field (#28712) FLINK-36355 removed the deprecated `host` field from the REST API's subtask-level responses, keeping only `endpoint`, but the web-dashboard frontend was never updated. The SubTask TimeLine and the SubTask Accumulators table each read `task.host`, which is now always undefined, so their subtask rows render as "N - undefined" instead of showing the TaskManager endpoint. Update the two frontend interfaces (JobSubTaskTime, SubTaskAccumulators) and their consuming components to read `endpoint` instead of `host`. Generated-by: Claude Code (claude-opus-4-8) (cherry picked from commit 6027adb70fb3168c3886fe65f133a69e53ce7f70) --- .../web-dashboard/src/app/interfaces/job-accumulators.ts | 2 +- .../web-dashboard/src/app/interfaces/job-timeline.ts | 2 +- .../job-overview-drawer-accumulators.component.html | 2 +- .../src/app/pages/job/timeline/job-timeline.component.ts | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flink-runtime-web/web-dashboard/src/app/interfaces/job-accumulators.ts b/flink-runtime-web/web-dashboard/src/app/interfaces/job-accumulators.ts index 758524b8c6df1..5caee1366d2c2 100644 --- a/flink-runtime-web/web-dashboard/src/app/interfaces/job-accumulators.ts +++ b/flink-runtime-web/web-dashboard/src/app/interfaces/job-accumulators.ts @@ -32,6 +32,6 @@ export interface SubTaskAccumulators { type: string; value: string; subtask: number; - host: string; + endpoint: string; attempt: number; } diff --git a/flink-runtime-web/web-dashboard/src/app/interfaces/job-timeline.ts b/flink-runtime-web/web-dashboard/src/app/interfaces/job-timeline.ts index 7218e6ca15e07..01bcf4fad839a 100644 --- a/flink-runtime-web/web-dashboard/src/app/interfaces/job-timeline.ts +++ b/flink-runtime-web/web-dashboard/src/app/interfaces/job-timeline.ts @@ -22,7 +22,7 @@ export interface JobSubTaskTime { now: number; subtasks: Array<{ subtask: number; - host: string; + endpoint: string; duration: number; timestamps: { CREATED: number; diff --git a/flink-runtime-web/web-dashboard/src/app/pages/job/overview/accumulators/job-overview-drawer-accumulators.component.html b/flink-runtime-web/web-dashboard/src/app/pages/job/overview/accumulators/job-overview-drawer-accumulators.component.html index 32280ef867534..b6803e88887bf 100644 --- a/flink-runtime-web/web-dashboard/src/app/pages/job/overview/accumulators/job-overview-drawer-accumulators.component.html +++ b/flink-runtime-web/web-dashboard/src/app/pages/job/overview/accumulators/job-overview-drawer-accumulators.component.html @@ -76,7 +76,7 @@ - ({{ subTaskAccumulator['subtask'] }}) {{ subTaskAccumulator.host }}, attempt: + ({{ subTaskAccumulator['subtask'] }}) {{ subTaskAccumulator.endpoint }}, attempt: {{ subTaskAccumulator.attempt + 1 }} {{ subTaskAccumulator.name }} diff --git a/flink-runtime-web/web-dashboard/src/app/pages/job/timeline/job-timeline.component.ts b/flink-runtime-web/web-dashboard/src/app/pages/job/timeline/job-timeline.component.ts index 7a77b7042f9ed..ed20b06073144 100644 --- a/flink-runtime-web/web-dashboard/src/app/pages/job/timeline/job-timeline.component.ts +++ b/flink-runtime-web/web-dashboard/src/app/pages/job/timeline/job-timeline.component.ts @@ -132,13 +132,13 @@ export class JobTimelineComponent implements AfterViewInit, OnDestroy { listOfTimeLine.forEach((item, index) => { if (index === listOfTimeLine.length - 1) { this.listOfSubTaskTimeLine.push({ - name: `${task.subtask} - ${task.host}`, + name: `${task.subtask} - ${task.endpoint}`, status: item.status, range: [item.startTime, task.duration + listOfTimeLine[0].startTime] }); } else { this.listOfSubTaskTimeLine.push({ - name: `${task.subtask} - ${task.host}`, + name: `${task.subtask} - ${task.endpoint}`, status: item.status, range: [item.startTime, listOfTimeLine[index + 1].startTime] });