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/05 10:48:12 UTC

[jira] [Updated] (OAK-4349) Commands in oak-run should not implement NodeStore creation logic from scratch

     [ https://issues.apache.org/jira/browse/OAK-4349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Francesco Mari updated OAK-4349:
--------------------------------
    Attachment: OAK-4349-01.patch

Attaching [^OAK-4349-01.patch] to express my intentions via code. Even if it's just sketching out the solution, it should be enough to understand what I would like to achieve.

> Commands in oak-run should not implement NodeStore creation logic from scratch
> ------------------------------------------------------------------------------
>
>                 Key: OAK-4349
>                 URL: https://issues.apache.org/jira/browse/OAK-4349
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: run
>            Reporter: Francesco Mari
>            Assignee: Francesco Mari
>         Attachments: OAK-4349-01.patch
>
>
> Many commands in oak-run implement the same logic over and over to create a {{NodeStore}} from command line arguments. I think it would be better to have this logic in a single  place and reuse it from every command.
> In OAK-4246 I proposed an approach based on URIs. Instead of specified command line arguments and flags, a connection to a specific backend could be specified using a URI with application specific schemas. On OAK-4246 I showed some examples specific to the {{SegmentNodeStore}}:
> - {{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.
> A solution based on URIs can be extended to other {{NodeStore}} implementations by using other schemes like {{segment:mem}}, {{document:mongo}}, {{document:rdb}}, and so on.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)