jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Francesco Mari (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-4246) Update segment tooling to choose target store
Date Tue, 03 May 2016 12:56:12 GMT

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

Francesco Mari commented on OAK-4246:

While working on this issue, I figured out that the amount of commands that should be changed
because of the introduction of {{oak-segment-tar}} is quite high. Changing the commands is
a very simple task but, most of the times, commands implement their own argument parsing logic
related to the creation of a new {{NodeStore}}. Some code is duplicated from one command to
another and the same set of options is often repeated over and over.

I'm wondering if it could be easier to solve the problem once and for all by unifying the
{{NodeStore}} construction logic into a single component. This component would construct instances
of {{NodeStore}} from URIs passed on the command line. When a different kind of {{NodeStore}}
is required - e.g. document- or segment-based - a different URI scheme should be used. In

- {{segment:///path/to/dir}} opens an "old style" segment store at the specified folder.
- {{segment:tar:///path/to/dir}} opens a"new style" segment store at the specified folder.
- {{segment:tar:///path/to/dir?mm=false}} opens a "new style" segment store at the specified
folder and disables memory mapped files.

Note that in the last two cases the URIs are actually layered: a first URI with scheme {{segment}}
is followed by another URI with scheme {{tar}}. This can be very useful to define specific
implementations of the same {{NodeStore}} family by using nested schemes like {{segment:mem}},
{{document:mongo}}, {{document:rdb}}, and so on.

[~mduerig], [~alex.parvulescu], what do you think?

> Update segment tooling to choose target store
> ---------------------------------------------
>                 Key: OAK-4246
>                 URL: https://issues.apache.org/jira/browse/OAK-4246
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: segment-next
>            Reporter: Michael Dürig
>            Assignee: Francesco Mari
>            Priority: Blocker
>              Labels: tooling
>             Fix For: 1.6, 1.5.2
> We need to add command line options segment specific tooling so users could chose between
{{oak-segment}} and {{oak-segment-next}}. {{oak-segment}} should be the default until deprecated,
where {{oak-segment-next}} should be made the default. 

This message was sent by Atlassian JIRA

View raw message