This is an automated email from the ASF dual-hosted git repository.

pnowojski pushed a commit to branch release-1.20
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/release-1.20 by this push:
     new 5f2344917a2 [FLINK-39394][web] Fix job overview metrics broken when a 
vertex is finished
5f2344917a2 is described below

commit 5f2344917a22e041f51c7dcb26e162bb9a1cbd6f
Author: Aleksandr Iushmanov <[email protected]>
AuthorDate: Thu Apr 2 13:59:21 2026 +0100

    [FLINK-39394][web] Fix job overview metrics broken when a vertex is finished
---
 .../src/app/pages/job/overview/job-overview.component.ts | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/overview/job-overview.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/overview/job-overview.component.ts
index 3248ab09316..0a01fb30b56 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/overview/job-overview.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/overview/job-overview.component.ts
@@ -162,11 +162,16 @@ export class JobOverviewComponent implements OnInit, 
OnDestroy {
             map(result => {
               return {
                 ...node,
-                backPressuredPercentage: 
Math.min(Math.round(result.backPressuredTimeMsPerSecond.max / 10), 100),
-                busyPercentage: 
Math.min(Math.round(result.busyTimeMsPerSecond.max / 10), 100),
-                dataSkewPercentage: result.numRecordsInPerSecond.skew
+                backPressuredPercentage: result.backPressuredTimeMsPerSecond
+                  ? 
Math.min(Math.round(result.backPressuredTimeMsPerSecond.max / 10), 100)
+                  : NaN,
+                busyPercentage: result.busyTimeMsPerSecond
+                  ? Math.min(Math.round(result.busyTimeMsPerSecond.max / 10), 
100)
+                  : NaN,
+                dataSkewPercentage: result.numRecordsInPerSecond?.skew ?? NaN
               };
-            })
+            }),
+            catchError(() => of(node))
           );
       })
     ).pipe(catchError(() => of(nodes)));
@@ -178,7 +183,8 @@ export class JobOverviewComponent implements OnInit, 
OnDestroy {
         return this.metricService.loadWatermarks(this.jobId, node.id).pipe(
           map(result => {
             return { ...node, lowWatermark: result.lowWatermark };
-          })
+          }),
+          catchError(() => of(node))
         );
       })
     ).pipe(catchError(() => of(nodes)));

Reply via email to