[ 
https://issues.apache.org/jira/browse/OAK-4522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15375147#comment-15375147
 ] 

Stefan Egli commented on OAK-4522:
----------------------------------

FYI: Added a 'prototype' to an oak fork 
[here|https://github.com/stefan-egli/jackrabbit-oak/commit/40003909fd8c6e46d2016384acdb57744ad8be50]
 that:
* adjusts delays on both queue growing and shrinking (by introducing {{added}} 
/ {{removed}} to {{BackgroundObserver}})
* takes the real max of all queues (the current CommitRateLimiter is 
non-deterministic there, as multiple listeners that are above the 
DELAY_THRESHOLD overwrite each other's delay)
* introduces a PAUSE_THRESHOLD that pauses 'indefinitely', ie until queue 
shrinks back to DELAY_THRESHOLD
* uses a ThreadLocal to mark listeners' threads as "not to block"

> Improve CommitRateLimiter to optionally block some commits
> ----------------------------------------------------------
>
>                 Key: OAK-4522
>                 URL: https://issues.apache.org/jira/browse/OAK-4522
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>
> The CommitRateLimiter of OAK-1659 can delay commits, but doesn't currently 
> block them, and delays even those commits that are part of handling events. 
> Because of that, the queue can still get full, and possibly delaying commits 
> while handling events can make the situation even worse.
> In Jackrabbit 2.x, we had a similar feature: JCR-2402. Also related is 
> JCR-2746.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to