[jira] [Updated] (OAK-4105) Implement FileStore.size through FileStore.approximateSize
[ https://issues.apache.org/jira/browse/OAK-4105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alex Parvulescu updated OAK-4105: - Fix Version/s: (was: Segment Tar 0.0.6) > 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 > 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)
[jira] [Updated] (OAK-4105) Implement FileStore.size through FileStore.approximateSize
[ 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)
[jira] [Updated] (OAK-4105) Implement FileStore.size through FileStore.approximateSize
[ 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-01.patch I changed the {{FileStore.size()}} implementation to use {{approximateSize}}. This is initialised once during {{FileStore}} creation by calling {{FileStore.initialSize()}} which mirrors the old implementation (locks FileStore and iterates over all tar files, getting their respective sizes). I attached the patch. [~frm] Could you take a look at it? > 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 > > > {{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)
[jira] [Updated] (OAK-4105) Implement FileStore.size through FileStore.approximateSize
[ https://issues.apache.org/jira/browse/OAK-4105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Mari updated OAK-4105: Fix Version/s: (was: Segment Tar 0.0.4) Segment Tar 0.0.6 > 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 > > > {{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)
[jira] [Updated] (OAK-4105) Implement FileStore.size through FileStore.approximateSize
[ https://issues.apache.org/jira/browse/OAK-4105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Mari updated OAK-4105: Assignee: Andrei Dulceanu (was: Francesco Mari) > 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.4 > > > {{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)
[jira] [Updated] (OAK-4105) Implement FileStore.size through FileStore.approximateSize
[ https://issues.apache.org/jira/browse/OAK-4105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Mari updated OAK-4105: Fix Version/s: (was: 1.6) > 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 >Priority: Minor > Labels: resilience > Fix For: Segment Tar 0.0.4 > > > {{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)
[jira] [Updated] (OAK-4105) Implement FileStore.size through FileStore.approximateSize
[ https://issues.apache.org/jira/browse/OAK-4105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Dürig updated OAK-4105: --- Component/s: (was: segmentmk) segment-next > 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-next >Reporter: Michael Dürig >Priority: Minor > Labels: resilience > Fix For: 1.6 > > > {{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)