franz1981 commented on a change in pull request #2730: ARTEMIS-2399 Fix 
performance degradation when there are a lot of subscribers
URL: https://github.com/apache/activemq-artemis/pull/2730#discussion_r296809409
 
 

 ##########
 File path: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageCursorProviderImpl.java
 ##########
 @@ -74,6 +75,8 @@
 
    private final SoftValueLongObjectHashMap<PageCache> softCache;
 
+   private final LongObjectHashMap<PageCache> indexCacheMap;
 
 Review comment:
   @clebertsuconic They have implemented a specialized `PageCache` that just 
hold the offset into the page file to read the data (kafka does something 
similar), not the "full fat" `PageCache` we are used to reference with Soft 
references, but I agree with Clebert that it has some GC costs (both due to the 
TreeMap and the Integer usage).
   I think this could improved by using something primitive or (even better) by 
storing the offset in the page file in some paged message reference instead, 
wdyt?
   
   
https://github.com/apache/activemq-artemis/blob/79465f7f88e32ca477655bb3f7fc6d261511ebae/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/Page.java#L284
   
   on
   
   ```java
   message.setFileOffset((int)file.size());
   file.writeDirect(buffer, false);
   ```

----------------------------------------------------------------
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]


With regards,
Apache Git Services

Reply via email to