You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2019/03/14 07:04:16 UTC

[GitHub] [pulsar] rdhabalia opened a new pull request #3818: [pulsar-common] add open Concurrent Open-LongPair RangeSet

rdhabalia opened a new pull request #3818: [pulsar-common] add open Concurrent Open-LongPair RangeSet
URL: https://github.com/apache/pulsar/pull/3818
 
 
   ### Motivation
   
   Pulsar-broker caches individually deleted message-ids into the RangeSet which stores large number of messageId objects into main memory for longer time. Sometimes some of the clients don't behave properly and generate large number of unack messages and triggers frequent redelivery which continuously allocates large number of messageId objects and it creates very high GC pressure and broker ends up into high gc-pauses which is not acceptable.
   
   To solve this problem, broker should cache messageId into OpenRangeSet to avoid object allocation of messageIds.
   
   ### Modification
   
   This PR introduces `ConcurrentOpenLongPairRangeSet` that stores ranges without allocating objects.
   
   ### Note:
   This PR contains data-structure change for RangeSet and I will create separate PR to use `ConcurrentOpenLongPairRangeSet` into `managed-ledger`.

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services