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

Andrei Dulceanu updated OAK-4105:
---------------------------------
    Attachment: OAK-4105-02.patch

[~mduerig] I reworked the patch so that during {{FileStore::cleanup()}} the 
{{approximateSize}} is reset and re-computed from scratch, so that after a 
cleanup finishes it reflects the real size of the repository. 

One thing observed while testing: before a cleanup is performed 
{{approximateSize}} is always less than the real size (computed classically 
holding the {{fileStoreLock}}), by a margin of 10%, which broke one integration 
test. Therefore I had to patch 
{{CompactionAndCleanupIT::offlineCompactionBinC1()}} to take into account this 
margin. As {{CompactionAndCleanupIT::offlineCompactionCps()}} already does, I 
simply moved the interval of expected values to right, by 10% and everything 
was fine after that. WDYT?

> Implement FileStore.size through FileStore.approximateSize
> ----------------------------------------------------------
>
>                 Key: OAK-4105
>                 URL: https://issues.apache.org/jira/browse/OAK-4105
>             Project: Jackrabbit Oak
>          Issue Type: Technical task
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Assignee: Andrei Dulceanu
>            Priority: Minor
>              Labels: resilience
>             Fix For: Segment Tar 0.0.6
>
>         Attachments: OAK-4105-01.patch, OAK-4105-02.patch
>
>
> {{FileStore.size()}} is prone to lock contention and should not be called too 
> often. As OAK-2879 already introduced an approach for tracking the current 
> size of the file store without having to lock, we might as well promote his 
> to be "the official" implementation. 
> [~frm] WDYT?



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

Reply via email to