You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2017/08/24 08:50:00 UTC
[jira] [Created] (OAK-6584) Add tooling API
Michael Dürig created OAK-6584:
----------------------------------
Summary: Add tooling API
Key: OAK-6584
URL: https://issues.apache.org/jira/browse/OAK-6584
Project: Jackrabbit Oak
Issue Type: New Feature
Components: segment-tar
Reporter: Michael Dürig
Assignee: Michael Dürig
Fix For: 1.8
h3. Current situation
Current segment store related tools are implemented ad-hoc by potentially relying on internal implementation details of Oak Segment Tar. This makes those tools less useful, portable, stable and potentially applicable than they should be.
h3. Goal
Provide a common and sufficiently stable Oak Tooling API for implementing segment store related tools. The API should be independent of Oak and not available for normal production use of Oak. Specifically it should not be possible to it to implement production features and production features must not rely on it. It must be possible to implement the Oak Tooling API in Oak 1.8 and it should be possible for Oak 1.6.
h3. Typical use cases
* Query the number of nodes / properties / values in a given path satisfying some criteria
* Aggregate a certain value on queries like the above
* Calculate size of the content / size on disk
* Analyse changes. E.g. how many binaries bigger than a certain threshold were added / removed between two given revisions. What is the sum of their sizes?
* Analyse locality: measure of locality of node states. Incident plots (See https://issues.apache.org/jira/browse/OAK-5655?focusedCommentId=15865973&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15865973).
* Analyse level of deduplication (e.g. of checkpoint)
h3. Validation
Reimplement [Script Oak|https://github.com/mduerig/script-oak] on top of the tooling API.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)