Skip to content

Commit ef532a2

Browse files
authored
[FLINK-39151][metrics] Hide warning about UnixOperatingSystemMXBean missing on Windows (#27662)
1 parent 62cb6c5 commit ef532a2

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

flink-runtime/src/main/java/org/apache/flink/runtime/metrics/util/MetricUtils.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.apache.flink.runtime.rpc.RpcSystem;
3939
import org.apache.flink.runtime.taskexecutor.slot.SlotNotFoundException;
4040
import org.apache.flink.runtime.taskexecutor.slot.TaskSlotTable;
41+
import org.apache.flink.util.OperatingSystem;
4142
import org.apache.flink.util.Preconditions;
4243

4344
import org.slf4j.Logger;
@@ -88,6 +89,8 @@ public class MetricUtils {
8889
private static final String WRITER_SUFFIX = ": " + ConfigConstants.WRITER_NAME;
8990
private static final String COMMITTER_SUFFIX = ": " + ConfigConstants.COMMITTER_NAME;
9091

92+
private static Boolean fileDescriptorWarningShown = false;
93+
9194
private MetricUtils() {}
9295

9396
public static ProcessMetricGroup instantiateProcessMetricGroup(
@@ -340,6 +343,13 @@ static void instantiateMetaspaceMemoryMetrics(final MetricGroup parentMetricGrou
340343
}
341344

342345
static void instantiateFileDescriptorMetrics(MetricGroup metrics) {
346+
if (OperatingSystem.isWindows()) {
347+
if (!fileDescriptorWarningShown) {
348+
fileDescriptorWarningShown = true;
349+
LOG.info("Running on Windows, FileDescriptor metrics will not be available.");
350+
}
351+
return;
352+
}
343353
try {
344354
final com.sun.management.OperatingSystemMXBean mxBean =
345355
(com.sun.management.OperatingSystemMXBean)

flink-runtime/src/test/java/org/apache/flink/runtime/metrics/util/MetricUtilsTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242

4343
import org.junit.jupiter.api.AfterEach;
4444
import org.junit.jupiter.api.Test;
45+
import org.junit.jupiter.api.condition.DisabledOnOs;
46+
import org.junit.jupiter.api.condition.OS;
4547

4648
import javax.management.ObjectName;
4749

@@ -178,6 +180,7 @@ void testHeapMetricsCompleteness() {
178180
}
179181

180182
@Test
183+
@DisabledOnOs(OS.WINDOWS)
181184
void testFileDescriptorMetricsCompleteness() {
182185
final InterceptingOperatorMetricGroup heapMetrics = new InterceptingOperatorMetricGroup();
183186

0 commit comments

Comments
 (0)