diff --git a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java index aaeb0df74c353..da7083beefda9 100644 --- a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java +++ b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java @@ -1160,7 +1160,7 @@ public class ServiceConfiguration implements PulsarConfiguration { + " It's shared across all the topics running in the same broker.\n\n" + " Use -1 to disable the memory limitation. Default is 1/2 of direct memory.\n\n") private int maxMessagePublishBufferSizeInMB = Math.max(64, - (int) (io.netty.util.internal.PlatformDependent.maxDirectMemory() / 2 / (1024 * 1024))); + (int) (io.netty.util.internal.PlatformDependent.estimateMaxDirectMemory() / 2 / (1024 * 1024))); @FieldContext( category = CATEGORY_SERVER, diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java index 431488d8d925d..bc2e2936ee333 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java @@ -38,12 +38,15 @@ import java.util.Arrays; import java.util.Date; import java.util.Optional; + +// CHECKSTYLE.OFF: IllegalImport +import io.netty.util.internal.PlatformDependent; +// CHECKSTYLE.ON: IllegalImport import org.apache.bookkeeper.common.util.ReflectionUtils; import org.apache.bookkeeper.conf.ServerConfiguration; import org.apache.bookkeeper.proto.BookieServer; import org.apache.bookkeeper.replication.AutoRecoveryMain; import org.apache.bookkeeper.stats.StatsProvider; -import org.apache.bookkeeper.util.DirectMemoryUtils; import org.apache.commons.configuration.ConfigurationException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.core.util.datetime.FixedDateFormat; @@ -169,7 +172,7 @@ private static class BrokerStarter { } int maxFrameSize = brokerConfig.getMaxMessageSize() + Commands.MESSAGE_SIZE_FRAME_PADDING; - if (maxFrameSize >= DirectMemoryUtils.maxDirectMemory()) { + if (maxFrameSize >= PlatformDependent.estimateMaxDirectMemory()) { throw new IllegalArgumentException("Max message size need smaller than jvm directMemory"); } diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LoadManagerShared.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LoadManagerShared.java index 7423485d7e176..32f5f837d5e59 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LoadManagerShared.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LoadManagerShared.java @@ -225,7 +225,7 @@ public static SystemResourceUsage getSystemResourceUsage(final BrokerHostUsage b // Collect JVM direct memory systemResourceUsage.setDirectMemory(new ResourceUsage((double) (getJvmDirectMemoryUsed() / MIBI), - (double) (io.netty.util.internal.PlatformDependent.maxDirectMemory() / MIBI))); + (double) (io.netty.util.internal.PlatformDependent.estimateMaxDirectMemory() / MIBI))); return systemResourceUsage; } diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java index bf2884e2b3a1a..5781331277ced 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java @@ -70,7 +70,7 @@ public double get() { Gauge.build("jvm_memory_direct_bytes_max", "-").create().setChild(new Child() { @Override public double get() { - return io.netty.util.internal.PlatformDependent.maxDirectMemory(); + return io.netty.util.internal.PlatformDependent.estimateMaxDirectMemory(); } }).register(CollectorRegistry.defaultRegistry); diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmMetrics.java b/pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmMetrics.java index d05484062d1a2..28f37bfb590a9 100644 --- a/pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmMetrics.java +++ b/pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmMetrics.java @@ -103,7 +103,7 @@ public List generate() { m.put("jvm_total_memory", r.totalMemory()); m.put("jvm_direct_memory_used", getJvmDirectMemoryUsed()); - m.put("jvm_max_direct_memory", io.netty.util.internal.PlatformDependent.maxDirectMemory()); + m.put("jvm_max_direct_memory", io.netty.util.internal.PlatformDependent.estimateMaxDirectMemory()); m.put("jvm_thread_cnt", getThreadCount()); this.gcLogger.logMetrics(m); diff --git a/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/thread/ThreadRuntimeFactory.java b/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/thread/ThreadRuntimeFactory.java index e57af3279af57..e7f3f5800e801 100644 --- a/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/thread/ThreadRuntimeFactory.java +++ b/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/thread/ThreadRuntimeFactory.java @@ -145,7 +145,7 @@ private Optional calculateClientMemoryLimit(Optional