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