[
https://issues.apache.org/jira/browse/OAK-4349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15293032#comment-15293032
]
Michael Dürig commented on OAK-4349:
------------------------------------
I kinda liked the first approach better. The second approach looks a bit too
ad-hoc for me. But maybe we need to further clarify the use case first: where
is this going to be used from within oak-run only or do we intent to make this
more general? In the latter case we should probably come up with an extensible
way to map URIs to stores that is also easy to maintain. I.e. won't silently
fall behind when we add new options in the implementations. In the former case
I think it is sufficient if we could come up with a way to hide the various
factory methods in the {{-02.pach}} behind a common interface.
> 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, OAK-4349-02.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)