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