eolivelli commented on issue #9721:
URL: https://github.com/apache/pulsar/issues/9721#issuecomment-788687115
My suspect was about how Netty pools memory (as it uses pools bounds to the
thread the allocates the memory), but
with -Dpulsar.allocator.pooled=false (that implies to use the heap and not
Netty Pooled Direct Memory) I get the same error.
I will dig into the memory dump and check what's going on.
```
7:29:06.503 [pulsar-perf-producer-exec-1-2] WARN
org.apache.pulsar.testclient.PerformanceProducer - Write error on message
java.util.concurrent.CompletionException:
org.apache.pulsar.client.api.PulsarClientException: java.lang.OutOfMemoryError:
Java heap space
at
java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
~[?:1.8.0_282]
at
java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
~[?:1.8.0_282]
at
java.util.concurrent.CompletableFuture.uniRun(CompletableFuture.java:714)
~[?:1.8.0_282]
at
java.util.concurrent.CompletableFuture.uniRunStage(CompletableFuture.java:731)
~[?:1.8.0_282]
at
java.util.concurrent.CompletableFuture.thenRun(CompletableFuture.java:2023)
~[?:1.8.0_282]
at
org.apache.pulsar.testclient.PerformanceProducer.runProducer(PerformanceProducer.java:540)
~[org.apache.pulsar-pulsar-testclient-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.testclient.PerformanceProducer.lambda$main$1(PerformanceProducer.java:330)
~[org.apache.pulsar-pulsar-testclient-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[?:1.8.0_282]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[?:1.8.0_282]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[?:1.8.0_282]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[?:1.8.0_282]
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[io.netty-netty-common-4.1.51.Final.jar:4.1.51.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_282]
Caused by: org.apache.pulsar.client.api.PulsarClientException:
java.lang.OutOfMemoryError: Java heap space
at
org.apache.pulsar.client.impl.ProducerImpl.sendAsync(ProducerImpl.java:466)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.ProducerImpl.internalSendAsync(ProducerImpl.java:290)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.ProducerImpl.internalSendWithTxnAsync(ProducerImpl.java:361)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.PartitionedProducerImpl.internalSendWithTxnAsync(PartitionedProducerImpl.java:191)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.PartitionedProducerImpl.internalSendAsync(PartitionedProducerImpl.java:167)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.TypedMessageBuilderImpl.sendAsync(TypedMessageBuilderImpl.java:103)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
... 8 more
Caused by: java.lang.OutOfMemoryError: Java heap space
at
io.netty.util.internal.PlatformDependent.allocateUninitializedArray(PlatformDependent.java:281)
~[io.netty-netty-common-4.1.51.Final.jar:4.1.51.Final]
at
io.netty.buffer.UnpooledUnsafeHeapByteBuf.allocateArray(UnpooledUnsafeHeapByteBuf.java:39)
~[io.netty-netty-buffer-4.1.51.Final.jar:4.1.51.Final]
at
io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf.allocateArray(UnpooledByteBufAllocator.java:144)
~[io.netty-netty-buffer-4.1.51.Final.jar:4.1.51.Final]
at
io.netty.buffer.UnpooledHeapByteBuf.<init>(UnpooledHeapByteBuf.java:59)
~[io.netty-netty-buffer-4.1.51.Final.jar:4.1.51.Final]
at
io.netty.buffer.UnpooledUnsafeHeapByteBuf.<init>(UnpooledUnsafeHeapByteBuf.java:34)
~[io.netty-netty-buffer-4.1.51.Final.jar:4.1.51.Final]
at
io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf.<init>(UnpooledByteBufAllocator.java:139)
~[io.netty-netty-buffer-4.1.51.Final.jar:4.1.51.Final]
at
io.netty.buffer.UnpooledByteBufAllocator.newHeapBuffer(UnpooledByteBufAllocator.java:82)
~[io.netty-netty-buffer-4.1.51.Final.jar:4.1.51.Final]
at
io.netty.buffer.AbstractByteBufAllocator.heapBuffer(AbstractByteBufAllocator.java:168)
~[io.netty-netty-buffer-4.1.51.Final.jar:4.1.51.Final]
at
org.apache.bookkeeper.common.allocator.impl.ByteBufAllocatorImpl.newHeapBuffer(ByteBufAllocatorImpl.java:148)
~[org.apache.bookkeeper-bookkeeper-common-allocator-4.12.1.jar:4.12.1]
at
org.apache.bookkeeper.common.allocator.impl.ByteBufAllocatorImpl.buffer(ByteBufAllocatorImpl.java:137)
~[org.apache.bookkeeper-bookkeeper-common-allocator-4.12.1.jar:4.12.1]
at
org.apache.bookkeeper.common.allocator.impl.ByteBufAllocatorImpl.buffer(ByteBufAllocatorImpl.java:129)
~[org.apache.bookkeeper-bookkeeper-common-allocator-4.12.1.jar:4.12.1]
at
org.apache.pulsar.client.impl.BatchMessageContainerImpl.add(BatchMessageContainerImpl.java:75)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.ProducerImpl.serializeAndSendMessage(ProducerImpl.java:526)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.ProducerImpl.sendAsync(ProducerImpl.java:456)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.ProducerImpl.internalSendAsync(ProducerImpl.java:290)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.ProducerImpl.internalSendWithTxnAsync(ProducerImpl.java:361)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.PartitionedProducerImpl.internalSendWithTxnAsync(PartitionedProducerImpl.java:191)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.PartitionedProducerImpl.internalSendAsync(PartitionedProducerImpl.java:167)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.client.impl.TypedMessageBuilderImpl.sendAsync(TypedMessageBuilderImpl.java:103)
~[org.apache.pulsar-pulsar-client-original-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.testclient.PerformanceProducer.runProducer(PerformanceProducer.java:540)
[org.apache.pulsar-pulsar-testclient-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.testclient.PerformanceProducer.lambda$main$1(PerformanceProducer.java:330)
[org.apache.pulsar-pulsar-testclient-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
at
org.apache.pulsar.testclient.PerformanceProducer$$Lambda$22/1766911337.run(Unknown
Source) [org.apache.pulsar-pulsar-testclient-2.8.0-SNAPSHOT.jar:2.8.0-SNAPSHOT]
... 6 more
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]