lhotari opened a new issue #9958: URL: https://github.com/apache/pulsar/issues/9958
### Problem In profiling, I can see that a lot of allocations in TLAB are made for this kind of stack trace: ``` Iterator java.util.concurrent.ConcurrentSkipListMap.entryIterator() Iterator java.util.concurrent.ConcurrentSkipListMap$EntrySet.iterator() Iterator org.apache.bookkeeper.mledger.impl.ManagedCursorContainer.iterator() PositionImpl org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl.getEarlierReadPositionForActiveCursors() void org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl.doCacheEviction(long) void org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.lambda$doCacheEviction$5(long void org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl$$Lambda$83.1547081970.accept(Object) void java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(Consumer) void org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.doCacheEviction() void org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.cacheEvictionTask() void org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl$$Lambda$81.1649498695.run() void java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) void java.util.concurrent.ThreadPoolExecutor$Worker.run() void io.netty.util.concurrent.FastThreadLocalRunnable.run() void java.lang.Thread.run() ``` (Broker version is Pulsar 2.7.0) ### Expected behavior Calls on the hot paths shouldn't create a lot of allocations. ---------------------------------------------------------------- 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: us...@infra.apache.org