[ 
https://issues.apache.org/jira/browse/OAK-2613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Egli updated OAK-2613:
-----------------------------
    Fix Version/s:     (was: 1.2)
                   1.3.0

Flagged this 1.3 instead of 1.2 as this is not a blocker for most apps.

> Do versionGC more frequently and at adjusted speed
> --------------------------------------------------
>
>                 Key: OAK-2613
>                 URL: https://issues.apache.org/jira/browse/OAK-2613
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, mongomk
>    Affects Versions: 1.0.12
>            Reporter: Stefan Egli
>             Fix For: 1.3.0
>
>
> This is a follow-up ticket from 
> [here|https://issues.apache.org/jira/browse/OAK-2557?focusedCommentId=14355322&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14355322]
>  mixed with an offline discussion with [~mreutegg]:
>  * we could make the VersionGC play nicely to existing load on the system: it 
> could progress slower if the load is higher and vice-verca. One simple 
> measure could be: if the observation queue is small (eg below 10) then the 
> load is low and it could progress full-speed. Otherwise it could add some 
> artificial sleeping in between.
>  * we could run versionGC more regularly than once a day but instead kind of 
> 'continuously' let it run in the background. While the speed of the gc would 
> be adjusted to the load - it also would have to be assured that it doesn't 
> run too slow (and would never finish if instance is under some constant load)
> Note that 'adjusted speed' would also imply some intelligence about the 
> system load, as pointed out by [~chetanm] on OAK-2557:
> {quote}Version GC currently ensures that query fired is made against the 
> Secondary (if present). However having some throttling in such background 
> task would be good thing to have. But first we need to have some 
> SystemLoadIndicator notion in Oak which can be provide details say in 
> percentage 1..100 about system load. We can then expose configurable 
> threshold which VersionGC would listen for and adjust its working accordingly.
> It can be a JMX bean which emits notification and we have our components 
> listen to those notification (or use OSGi SR/Events). That can be used in 
> other places like Observation processing, Blob GC etc
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to