lhotari commented on PR #23930:
URL: https://github.com/apache/pulsar/pull/23930#issuecomment-2640613637

   Although clock sources aren't necessarily monotonic in all platforms, it 
seems that the root cause of this issue is could be different. 
   The DefaultMonotonicSnapshotClock was originally added to address a 
performance bottleneck in calling `System.nanoTime()` on MacOS. This wasn't a 
significant bottleneck on Linux platform. The solution was to update the value 
in a single thread and add eventual consistency to the rate limiter. The 
problem seen in issue #23920 could occur when this thread gets starved and the 
updates are delayed. This PR already contains 2 mitigations to this problem by 
modifying the thread priority to `MAX_PRIORITY` and by modifying the logic how 
new tokens are added to the bucket when the token update happens.
   However, I'll need to find a solution where the problem would be properly 
avoided without adding contention since contention would cause the rate 
limiting solution to have a relatively high overhead.


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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to