This is an automated email from the ASF dual-hosted git repository.
rmetzger pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new efb58c508a9 [FLINK-41308][runtime-web] Use nettyShuffleMemorySegments
fields for the Netty Shuffle Buffers table (#29761)
efb58c508a9 is described below
commit efb58c508a9aedf7346b28f5c33a971d056c4a39
Author: Purushottam Sinha <[email protected]>
AuthorDate: Fri Nov 6 21:43:13 2026 +0530
[FLINK-41308][runtime-web] Use nettyShuffleMemorySegments fields for the
Netty Shuffle Buffers table (#29761)
FLINK-36355 removed the deprecated memorySegmentsAvailable and
memorySegmentsTotal fields from the TaskManager details REST response,
leaving only nettyShuffleMemorySegments*. The TaskManager metrics page
kept reading the old names, so the Netty Shuffle Buffers table has shown
empty Available and Total cells since 2.0.
Read the new fields, declare them on the Metrics interface, and cover the
rendered counts in the component spec.
Generated-by: Claude Opus 5.5
---
.../src/app/interfaces/task-manager.ts | 2 ++
.../metrics/task-manager-metrics.component.html | 4 ++--
.../metrics/task-manager-metrics.component.spec.ts | 24 +++++++++++++++++++---
3 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/flink-runtime-web/web-dashboard/src/app/interfaces/task-manager.ts
b/flink-runtime-web/web-dashboard/src/app/interfaces/task-manager.ts
index 51f0705026e..b6122016c33 100644
--- a/flink-runtime-web/web-dashboard/src/app/interfaces/task-manager.ts
+++ b/flink-runtime-web/web-dashboard/src/app/interfaces/task-manager.ts
@@ -94,6 +94,8 @@ interface Metrics {
mappedCount: number;
mappedUsed: number;
mappedMax: number;
+ nettyShuffleMemorySegmentsAvailable: number;
+ nettyShuffleMemorySegmentsTotal: number;
garbageCollectors: GarbageCollectorsItem[];
}
diff --git
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.html
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.html
index 6c59658a39a..8b640f5279b 100644
---
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.html
+++
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.html
@@ -255,11 +255,11 @@
<tbody>
<tr>
<td><strong>Available</strong></td>
- <td>{{ taskManagerDetail?.metrics.memorySegmentsAvailable | number
}}</td>
+ <td>{{
taskManagerDetail?.metrics.nettyShuffleMemorySegmentsAvailable | number }}</td>
</tr>
<tr>
<td><strong>Total</strong></td>
- <td>{{ taskManagerDetail?.metrics.memorySegmentsTotal | number
}}</td>
+ <td>{{ taskManagerDetail?.metrics.nettyShuffleMemorySegmentsTotal
| number }}</td>
</tr>
</tbody>
</nz-table>
diff --git
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.spec.ts
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.spec.ts
index 0eebdd6296b..b0f765cab4d 100644
---
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.spec.ts
+++
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.spec.ts
@@ -21,13 +21,21 @@ import { ComponentFixture, TestBed } from
'@angular/core/testing';
import { ActivatedRoute } from '@angular/router';
import { of, throwError } from 'rxjs';
+import { TaskManagerDetail } from '@flink-runtime-web/interfaces';
import { StatusService, TaskManagerService } from
'@flink-runtime-web/services';
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { TaskManagerMetricsComponent } from './task-manager-metrics.component';
-const mockDetail = {
+const mockDetail: TaskManagerDetail = {
id: 'tm-1',
+ path: 'pekko.tcp://flink@localhost:6122/user/rpc/taskmanager_0',
+ dataPort: 6121,
+ timeSinceLastHeartbeat: 1_700_000_000_000,
+ slotsNumber: 4,
+ freeSlots: 4,
+ assignedTasks: 0,
+ hardware: { cpuCores: 8, physicalMemory: 17_179_869_184, freeMemory:
536_870_912, managedMemory: 536_870_912 },
memoryConfiguration: {
frameworkHeap: 134_217_728,
frameworkOffHeap: 134_217_728,
@@ -53,8 +61,8 @@ const mockDetail = {
mappedCount: 0,
mappedUsed: 0,
mappedMax: 0,
- memorySegmentsAvailable: 128,
- memorySegmentsTotal: 256,
+ nettyShuffleMemorySegmentsAvailable: 1234,
+ nettyShuffleMemorySegmentsTotal: 5678,
garbageCollectors: []
},
freeResource: { cpuCores: 4, taskHeapMemory: 100, taskOffHeapMemory: 0,
managedMemory: 200, networkMemory: 50 },
@@ -107,6 +115,16 @@ describe('TaskManagerMetricsComponent', () => {
expect(text).toContain('Flink Memory Model');
});
+ it('shows the Netty shuffle buffer counts', () => {
+ fixture.detectChanges();
+
+ const table = Array.from(element.querySelectorAll('nz-table')).find(t =>
+ t.textContent?.includes('Netty Shuffle Buffers')
+ );
+ const cells = Array.from(table?.querySelectorAll('tbody td') ?? []).map(td
=> td.textContent?.trim());
+ expect(cells).toEqual(['Available', '1,234', 'Total', '5,678']);
+ });
+
it('does not load metrics when the manager cannot be fetched', () => {
loadManager.mockReturnValue(throwError(() => new Error('gone')));