jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Egli (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OAK-2613) Do versionGC more frequently and at adjusted speed
Date Wed, 29 Jul 2015 06:50:04 GMT

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

> 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
>              Labels: observation, resilience
> 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

View raw message