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

zakelly 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 ef532a23f10 [FLINK-39151][metrics] Hide warning about 
UnixOperatingSystemMXBean missing on Windows (#27662)
ef532a23f10 is described below

commit ef532a23f102bd0562e7a792da38678efae410ee
Author: Piotr Przybylski <[email protected]>
AuthorDate: Thu Apr 9 10:03:17 2026 +0200

    [FLINK-39151][metrics] Hide warning about UnixOperatingSystemMXBean missing 
on Windows (#27662)
---
 .../org/apache/flink/runtime/metrics/util/MetricUtils.java     | 10 ++++++++++
 .../org/apache/flink/runtime/metrics/util/MetricUtilsTest.java |  3 +++
 2 files changed, 13 insertions(+)

diff --git 
a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/util/MetricUtils.java
 
b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/util/MetricUtils.java
index 915548be41a..e208c465400 100644
--- 
a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/util/MetricUtils.java
+++ 
b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/util/MetricUtils.java
@@ -38,6 +38,7 @@ import org.apache.flink.runtime.rpc.RpcService;
 import org.apache.flink.runtime.rpc.RpcSystem;
 import org.apache.flink.runtime.taskexecutor.slot.SlotNotFoundException;
 import org.apache.flink.runtime.taskexecutor.slot.TaskSlotTable;
+import org.apache.flink.util.OperatingSystem;
 import org.apache.flink.util.Preconditions;
 
 import org.slf4j.Logger;
@@ -88,6 +89,8 @@ public class MetricUtils {
     private static final String WRITER_SUFFIX = ": " + 
ConfigConstants.WRITER_NAME;
     private static final String COMMITTER_SUFFIX = ": " + 
ConfigConstants.COMMITTER_NAME;
 
+    private static Boolean fileDescriptorWarningShown = false;
+
     private MetricUtils() {}
 
     public static ProcessMetricGroup instantiateProcessMetricGroup(
@@ -340,6 +343,13 @@ public class MetricUtils {
     }
 
     static void instantiateFileDescriptorMetrics(MetricGroup metrics) {
+        if (OperatingSystem.isWindows()) {
+            if (!fileDescriptorWarningShown) {
+                fileDescriptorWarningShown = true;
+                LOG.info("Running on Windows, FileDescriptor metrics will not 
be available.");
+            }
+            return;
+        }
         try {
             final com.sun.management.OperatingSystemMXBean mxBean =
                     (com.sun.management.OperatingSystemMXBean)
diff --git 
a/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/util/MetricUtilsTest.java
 
b/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/util/MetricUtilsTest.java
index 2195e8c4b26..8628d86fa68 100644
--- 
a/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/util/MetricUtilsTest.java
+++ 
b/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/util/MetricUtilsTest.java
@@ -42,6 +42,8 @@ import 
org.apache.flink.shaded.guava33.com.google.common.collect.Sets;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnOs;
+import org.junit.jupiter.api.condition.OS;
 
 import javax.management.ObjectName;
 
@@ -178,6 +180,7 @@ class MetricUtilsTest {
     }
 
     @Test
+    @DisabledOnOs(OS.WINDOWS)
     void testFileDescriptorMetricsCompleteness() {
         final InterceptingOperatorMetricGroup heapMetrics = new 
InterceptingOperatorMetricGroup();
 

Reply via email to