[ https://issues.apache.org/jira/browse/SLING-7074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16138618#comment-16138618 ]
Alex Deparvu edited comment on SLING-7074 at 8/23/17 4:42 PM: -------------------------------------------------------------- this seems a bit more complicated than I though. I opened a few pull requests on the rrd4j project hoping things will be nicer looking, but I'm not sure what the eta could be [0] [1]. I'll probably submit PRs also but wanted to see what the maintainers think first. The lack of parameter verification on the config manager is tough to work with. Basically there should be no rrd store started if * step is <=0 (I can use the default value here) * no datasources defined (err is "No RRD datasource specified. At least one is needed.") * no archives defined (err is "No RRD archive specified. At least one is needed.") and all of these are IllegalArgumentExceptions coming from rrd with no way to pass them to the config manager except log some sort of warning in the logs which might not be enough. I think I'd go with stopping and not starting any rrd store if there's any illegal params. the simplest way I see is have the builder return null in this case. [~mreutegg] thoughts? https://github.com/rrd4j/rrd4j/issues/104 https://github.com/rrd4j/rrd4j/issues/105 was (Author: alex.parvulescu): this seems a bit more complicated than I though. I opened a few pull requests on the rrd4j project hoping things will be nicer looking, but I'm not sure what the eta could be [0] [1]. I'll probably submit PRs also but wanted to see what the maintainers think first. The lack of parameter verification on the config manager is tough to work with. Basically there should be no rrd store started if * step is <=0 (I can use the default value here) * no datasources defined (err is "No RRD datasource specified. At least one is needed.") * no archives defined (err is "No RRD archive specified. At least one is needed.") and all of these are IllegalArgumentExceptions coming from rrd with no way to pass them to the config manager except log some sort of warning in the logs which might not be enough. I think I'd go with stopping and not starting any rrd store if there's any illegal params. [~mreutegg] thoughts? https://github.com/rrd4j/rrd4j/issues/104 https://github.com/rrd4j/rrd4j/issues/105 > RRD4J NPE on removing all "Data sources" from config > ---------------------------------------------------- > > Key: SLING-7074 > URL: https://issues.apache.org/jira/browse/SLING-7074 > Project: Sling > Issue Type: Bug > Components: Commons > Reporter: Alex Deparvu > Priority: Minor > Fix For: Commons Metrics RRD4J 1.0.0 > > > Opened the config manager and deleted all entries > {noformat} > *ERROR* [CM Event Dispatcher (Fire ConfigurationEvent: > pid=org.apache.sling.commons.metrics.rrd4j.impl.CodahaleMetricsReporter)] > org.apache.sling.commons.metrics-rrd4j > [org.apache.sling.commons.metrics.rrd4j.impl.CodahaleMetricsReporter(3134)] > The activate method has thrown an exception (java.lang.NullPointerException) > java.lang.NullPointerException: null > at > org.apache.sling.commons.metrics.rrd4j.impl.RRD4JReporter$Builder.withDatasources(RRD4JReporter.java:91) > at > org.apache.sling.commons.metrics.rrd4j.impl.CodahaleMetricsReporter.activate(CodahaleMetricsReporter.java:143) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > {noformat} > fyi [~mreutegg] -- This message was sent by Atlassian JIRA (v6.4.14#64029)