You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Vikas Saurabh (JIRA)" <ji...@apache.org> on 2017/02/15 09:33:41 UTC

[jira] [Comment Edited] (OAK-5626) ChangeProcessor doesn't reset 'blocking' flag when items from queue gets removed and commit-rate-limiter is null

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

Vikas Saurabh edited comment on OAK-5626 at 2/15/17 9:32 AM:
-------------------------------------------------------------

Thanks for the inputs guys. But, I like the idea of basing the implementation on {{Clock}} - at least I'd feel more comfortable with tests with {{Clock.Virtual}}. I'd rework the patch accordingly.
Since, accuracy isn't a factor here anyway, so I might as well use {{Clock.Fast}} (although as I read the comments {{Clock.Simple}}, which is similar to {{System.currentTimeMillis()}}, should be ok too).


was (Author: catholicon):
Thanks for the inputs guys. But, I like the idea of basing the implementation on {{Clock}} - at least I'd feel more comfortable with tests with {{Clock.Virtual}}. I'd rework the patch accordingly.
Since, accuracy isn't a factor here anyway, so I might as well use {{Clock.Fast}} (although as I read the comments {{Clock.Simple}}, which is similar to {{System.currentTimeMillis(), should be ok too).

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