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]


Reply via email to