[
https://issues.apache.org/jira/browse/OAK-5626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vikas Saurabh updated OAK-5626:
-------------------------------
Attachment: OAK-5626.patch
Added a test that checks current behavior (that we log warning... not the
subsequent one) at [r1783066|https://svn.apache.org/r1783066].
Attaching [^OAK-5626.patch] which does:
{noformat}
ChangeProcessor would now log WARN each time queue gets full. To avoid flooding
of logs, consecutive WARNs would be avoided a breathing period (Default 10
minutes. Can be configured by JVM command line param:
"oak.observation.full-queue.warn.interval"). During the breathing period, queue
full logs would still be logged at DEBUG level.
Also, add test to check the behavior.
{noformat}
[~egli], can you please check?
[~mduerig], can you please share your inputs on how costly/bad would it be to
call {{System.currentTimeMillis}} during commit (for each {{ChangeProcessor}}
instance? Else, we can do the implementation [~egli] suggested above.
> ChangeProcessor doesn't reset 'blocking' flag when items from queue gets
> removed and commit-rate-limiter is null
> ----------------------------------------------------------------------------------------------------------------
>
> Key: OAK-5626
> URL: https://issues.apache.org/jira/browse/OAK-5626
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core
> Reporter: Vikas Saurabh
> Assignee: Vikas Saurabh
> Priority: Minor
> Attachments: OAK-5626.patch
>
>
> Following up on conversation at \[0]:
> {{ChangeProcessor#queueSizeChanged}} \[1] sets blocking flag to true if queue
> size is hit (or beyond). The warning "Revision queue is full. Further
> revisions will be compacted." is logged only when it *wasn't* blocking.
> BUT, when queue empties, blocking flag is reset inside if block for
> commitRateLimiter!=null. That means an event chain like:
> # qFull
> # log warn
> # qEmpties
> # qFull
> won't log the WARN after step(4)
> \[0]: http://markmail.org/message/hgein5g3ohyjhw5n
> \[1]:
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ChangeProcessor.java#L307
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)