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

Michael Dürig commented on OAK-5626:
------------------------------------

bq. can you please share your inputs on how costly/bad would it be to call 
System.currentTimeMillis during commit.

I think in the past this turned out to be expensive on some hardware. 
[~julian.resc...@gmx.de] might recall more details. 

But instead of calling {{System.currentMillis}} directly you could also make 
use of a {{Clock.Fast}}, which might reduce the performance impact at the cost 
of accuracy. 

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

Reply via email to