From 4e7ade568c3c706d374495b5c39f5a63f9fe2550 Mon Sep 17 00:00:00 2001 From: George Wu Date: Fri, 5 Jan 2024 10:18:48 -0500 Subject: [PATCH] check somaxconn on linux only --- .../jetty/JettyServerModule.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/server/src/main/java/org/apache/druid/server/initialization/jetty/JettyServerModule.java b/server/src/main/java/org/apache/druid/server/initialization/jetty/JettyServerModule.java index 0e8eaffebb88..1299e11d60c0 100644 --- a/server/src/main/java/org/apache/druid/server/initialization/jetty/JettyServerModule.java +++ b/server/src/main/java/org/apache/druid/server/initialization/jetty/JettyServerModule.java @@ -34,6 +34,7 @@ import com.google.inject.multibindings.Multibinder; import com.sun.jersey.guice.JerseyServletModule; import com.sun.jersey.guice.spi.container.servlet.GuiceContainer; +import org.apache.commons.lang3.SystemUtils; import org.apache.druid.guice.Jerseys; import org.apache.druid.guice.JsonConfigProvider; import org.apache.druid.guice.LazySingleton; @@ -497,17 +498,19 @@ private static int getMaxJettyAcceptorsSelectorsNum(DruidNode druidNode) private static int getTCPAcceptQueueSize() { - try { - BufferedReader in = Files.newBufferedReader(Paths.get("/proc/sys/net/core/somaxconn")); - String acceptQueueSize = in.readLine(); - if (acceptQueueSize != null) { - return Integer.parseInt(acceptQueueSize); + if (SystemUtils.IS_OS_LINUX) { + try { + BufferedReader in = Files.newBufferedReader(Paths.get("/proc/sys/net/core/somaxconn")); + String acceptQueueSize = in.readLine(); + if (acceptQueueSize != null) { + return Integer.parseInt(acceptQueueSize); + } + } + catch (Exception e) { + log.warn("Unable to read /proc/sys/net/core/somaxconn, falling back to default value for TCP accept queue size"); } } - catch (Exception e) { - log.warn("Unable to read /proc/sys/net/core/somaxconn, falling back to default value for TCP accept queue size"); - } - return 128; // Default value of net.core.somaxconn on Linux + return 128; // Default value of net.core.somaxconn } @Provides