From 548644e0006e7a447743ed17ddfdd64fe0c47b67 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 758524b8c6df1c..5caee1366d2c21 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 7218e6ca15e079..01bcf4fad839a1 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 9632d71d60ccbe..2a5a1c681a29dc 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 10108f20bfcb96..e638fc533dec3f 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 @@ -133,13 +133,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] });