[jira] [Updated] (OAK-6917) Configuration presets for DocumentNodeStoreService

2017-11-23 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger updated OAK-6917:
--
Attachment: OAK-6917.patch

Attached an updated patch with an optional preset configuration that acts as a 
fallback when the DocumentNodeStoreService configuration from the configuration 
admin does not have an value for a specific entry. All of the configuration 
logic is has also been moved to {{DocumentNodeStoreServiceConfiguration}}.

> Configuration presets for DocumentNodeStoreService
> --
>
> Key: OAK-6917
> URL: https://issues.apache.org/jira/browse/OAK-6917
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: documentmk
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
> Fix For: 1.8
>
> Attachments: OAK-6917-alternative-approach.patch, OAK-6917.patch, 
> OAK-6917.patch
>
>
> When Oak is deployed in an OSGi container, applications usually want to ship 
> a default configuration which is different from the defaults present in Oak. 
> E.g. an application may want to use a default cache size of 1G for the 
> DocumentNodeStoreService instead of the default 256M. Now if a user of the 
> application provides a custom configuration and does not specify the cache 
> size, the value for this configuration will flip back to the Oak default of 
> 256M.
> There should be a way to configure presets for the application that are 
> different from the Oak defaults and then allow a user to customize the 
> configuration while still respecting the presets.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (OAK-6917) Configuration presets for DocumentNodeStoreService

2017-11-09 Thread Julian Sedding (JIRA)

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

Julian Sedding updated OAK-6917:

Attachment: OAK-6917-alternative-approach.patch

[~mreutegg] I attached a patch with a sketch for an alternative approach, YMMV. 
It is limited to the OSGi aspect, but lacks merging the "preset" (or default) 
configuration with the config for {{DocumentNodeStoreService}}. Check it out, 
maybe you find it useful.

Basically, I register an additional service, that references the same 
{{Configuration}} annotation. That way, it gets all the defaults set in the 
annotation, but these can be overridden by config admin (config policy is 
optional though). I created the (mostly empty) inner class {{Defaults}} to 
achieve this. The {{DocumentNodeStoreService}} then references the 
{{DNSS.Defaults}} service, but instead of having the service instance injected, 
we ask to get the {{Configuration}} annotation injected (not 100% sure this 
works, if not, try with {{Map}}, which I have done before).

I didn't test the patch, but quickly looked at the generated XML files, and 
they look as intended (at first glance at least). Note that I deliberately 
didn't get metatype information generated for the {{DNSS.Defaults}} service, as 
I understood that it should be a "private" config that should only be set by 
product vendors/distributors.



> Configuration presets for DocumentNodeStoreService
> --
>
> Key: OAK-6917
> URL: https://issues.apache.org/jira/browse/OAK-6917
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: documentmk
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
> Fix For: 1.8
>
> Attachments: OAK-6917-alternative-approach.patch, OAK-6917.patch
>
>
> When Oak is deployed in an OSGi container, applications usually want to ship 
> a default configuration which is different from the defaults present in Oak. 
> E.g. an application may want to use a default cache size of 1G for the 
> DocumentNodeStoreService instead of the default 256M. Now if a user of the 
> application provides a custom configuration and does not specify the cache 
> size, the value for this configuration will flip back to the Oak default of 
> 256M.
> There should be a way to configure presets for the application that are 
> different from the Oak defaults and then allow a user to customize the 
> configuration while still respecting the presets.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (OAK-6917) Configuration presets for DocumentNodeStoreService

2017-11-08 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger updated OAK-6917:
--
Attachment: OAK-6917.patch

First draft to support the described use case. However, I'm not too happy with 
the implementation because it now requires two configurations to activate the 
DocumentNodeStoreService. Ideally I'd be able to make the 
DocumentNodeStoreServicePreset configuration optional, but the configuration 
policy cannot be defined per entry in the configurationPID list.

> Configuration presets for DocumentNodeStoreService
> --
>
> Key: OAK-6917
> URL: https://issues.apache.org/jira/browse/OAK-6917
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: documentmk
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
> Fix For: 1.8
>
> Attachments: OAK-6917.patch
>
>
> When Oak is deployed in an OSGi container, applications usually want to ship 
> a default configuration which is different from the defaults present in Oak. 
> E.g. an application may want to use a default cache size of 1G for the 
> DocumentNodeStoreService instead of the default 256M. Now if a user of the 
> application provides a custom configuration and does not specify the cache 
> size, the value for this configuration will flip back to the Oak default of 
> 256M.
> There should be a way to configure presets for the application that are 
> different from the Oak defaults and then allow a user to customize the 
> configuration while still respecting the presets.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)