[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=15871319#comment-15871319 ] Julian Reschke edited comment on OAK-5626 at 2/17/17 7:17 AM: -- [~catholicon] - are you aware of the test failures, such as in https://builds.apache.org/job/Apache%20Jackrabbit%20Oak%20matrix/1429/Ubuntu%20Slaves=ubuntu,jdk=JDK%201.7%20(latest),nsfixtures=SEGMENT_TAR,profile=unittesting/testReport/junit/org.apache.jackrabbit.oak.jcr.observation/ObservationQueueFullWarnTest/warnOnRepeatedQueueFull_MemoryNodeStore_/ ? was (Author: reschke): [~catholicon] - are you aware of the test failures, such as https://builds.apache.org/job/Apache%20Jackrabbit%20Oak%20matrix/1429/Ubuntu%20Slaves=ubuntu,jdk=JDK%201.7%20(latest),nsfixtures=SEGMENT_TAR,profile=unittesting/testReport/junit/org.apache.jackrabbit.oak.jcr.observation/ObservationQueueFullWarnTest/warnOnRepeatedQueueFull_MemoryNodeStore_/ > 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 > Labels: candidate_oak_1_0 > Fix For: 1.2.24, 1.4.14, 1.7.0, 1.8, 1.6.1 > > Attachments: OAK-5626.patch, OAK-5626-v2.patch, OAK-5626-v3.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)
[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=15868138#comment-15868138 ] Vikas Saurabh edited comment on OAK-5626 at 2/15/17 7:46 PM: - Backported to 1.6 branch at [r1783121|https://svn.apache.org/r1783121], to 1.4 branch at [r1783139|https://svn.apache.org/r1783139], to 1.2 branch at [r1783140|https://svn.apache.org/r1783140]. was (Author: catholicon): Backported to 1.6 branch at [r1783121|https://svn.apache.org/r1783121], to 1.4 branch at [r1783139|https://svn.apache.org/r1783139]. > 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 > Labels: candidate_oak_1_0 > Fix For: 1.2.24, 1.4.14, 1.7.0, 1.8, 1.6.1 > > Attachments: OAK-5626.patch, OAK-5626-v2.patch, OAK-5626-v3.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)
[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=15868138#comment-15868138 ] Vikas Saurabh edited comment on OAK-5626 at 2/15/17 7:29 PM: - Backported to 1.6 branch at [r1783121|https://svn.apache.org/r1783121], to 1.4 branch at [r1783139|https://svn.apache.org/r1783139]. was (Author: catholicon): Backported to 1.6 branch at [r1783121|https://svn.apache.org/r1783121]. > 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 > Labels: candidate_oak_1_0, candidate_oak_1_2, candidate_oak_1_4 > Fix For: 1.7.0, 1.8, 1.6.1 > > Attachments: OAK-5626.patch, OAK-5626-v2.patch, OAK-5626-v3.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)
[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=15867814#comment-15867814 ] Vikas Saurabh edited comment on OAK-5626 at 2/15/17 1:20 PM: - argh! good catch!.. would fix it... -maybe I'd keep logging like it was.. just move timing calc in a utility method (ie move logging back to original place from utility method).- Nah!... would pass on the message from calling method. {{ if()\{warn}else\{debug} }} is probably better at one place. Btw, I'd open a new task to add tests for existing flows (with commit rate limiter)... I'd need to read up the logic a bit to do it. was (Author: catholicon): argh! good catch!.. would fix it... maybe I'd keep logging like it was.. just move timing calc in a utility method (ie move logging back to original place from utility method). Btw, I'd open a new task to add tests for existing flows (with commit rate limiter)... I'd need to read up the logic a bit to do it. > 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, OAK-5626-v2.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)
[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=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)