[
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)