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 "Francesco Mari (JIRA)" <ji...@apache.org> on 2016/05/03 14:56:12 UTC

[jira] [Commented] (OAK-4246) Update segment tooling to choose target store

    [ 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 example:

- {{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
(v6.3.4#6332)