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

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


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

commit ecee52b2e739369da71984b9db04e300569eadc1
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 c03e4ad908c..8b46f079f1e 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
@@ -169,11 +169,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)));
@@ -185,7 +190,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