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


Reply via email to