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

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

Proposed solution is to unconditionally run full compaction if the previous 
compaction was a tail compaction and otherwise run full compaction 
conditionally on the growth? This would ensure we regularly run full compaction 
and fall back to Oak 1.6 semantics when scheduling full compaction for all week 
days.

> Estimation for FULL can be off sometimes
> ----------------------------------------
>
>                 Key: OAK-7008
>                 URL: https://issues.apache.org/jira/browse/OAK-7008
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>              Labels: compaction, gc
>             Fix For: 1.7.12
>
>
> Since OAK-6883, FULL estimation compares segmentstore size with the previous 
> FULL. There can be cases where the current segmentstore is smaller than the 
> previous FULL (i.e. due to TAIL cleaning up more). This leads to FULL being 
> skipped for much more than anticipated.
> A case to illustrate this scenario:
>     Start Oak with a 10 GB repo
>     GC #1: run FULL results in segmenstore of 20GB
>     GC #2: run TAIL results in segmentstore of 11GB
>     GC #3: run FULL (saturday) - skipped because the reference is 20GB from 
> the previous FULL
> FULL be executed again only when the segmentstore grows back above 20GB, 
> which might be too late.
> Estimation should take this situation into account this and take a better 
> decision.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to