[jboss-jira] [JBoss JIRA] (WFCORE-1737) rrd on data-source=*/statistics=pool throws NPE

Brian Stansberry (JIRA) issues at jboss.org
Fri Aug 26 16:23:00 EDT 2016


    [ https://issues.jboss.org/browse/WFCORE-1737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13285032#comment-13285032 ] 

Brian Stansberry commented on WFCORE-1737:
------------------------------------------

This is all about the classic double meaning of the '*' character problem.

There is a ManagementResourceRegistration specifically for /subsystem=datasources/data-source=*. But it has no child for "statistics=pool". Which isn't handled correctly, hence the NPE.

But the '*' character can also mean, in the read-resource-description operation, "look for MRRs whose address matches this pattern", and that would also result in finding the override MRR for /subsystem=datasources/data-source=ExampleDS. And that one does have a child for "statistics=pool".

GlobalOperationHandlers$RegistrationAddressResolver needs to handle this scenario correctly. No NPE and find the matching MRR.

> rrd on data-source=*/statistics=pool throws NPE
> -----------------------------------------------
>
>                 Key: WFCORE-1737
>                 URL: https://issues.jboss.org/browse/WFCORE-1737
>             Project: WildFly Core
>          Issue Type: Bug
>          Components: Domain Management
>            Reporter: Claudio Miranda
>            Assignee: Brian Stansberry
>
> Run the following command in CLI it throws a NullPointerException
> As it is a rrd it should not require a resolved wildcard
> {code}
> /subsystem=datasources/data-source=*/statistics=pool:read-resource-description
> {code}
> Results
> {code}
> {
>     "outcome" => "failed",
>     "result" => [],
>     "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.NullPointerException",
>     "rolled-back" => true
> }
> {code}
> The exception throws at server.log
> {code}
> ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("resolve") failed - address: ([]): java.lang.NullPointerException
>         at org.jboss.as.controller.operations.global.GlobalOperationHandlers$AbstractAddressResolver.execute(GlobalOperationHandlers.java:422)
>         at org.jboss.as.controller.operations.global.GlobalOperationHandlers$RegistrationAddressResolver.executeSingleTargetChild(GlobalOperationHandlers.java:903)
>         at org.jboss.as.controller.operations.global.GlobalOperationHandlers$AbstractAddressResolver.execute(GlobalOperationHandlers.java:442)
>         at org.jboss.as.controller.operations.global.GlobalOperationHandlers$RegistrationAddressResolver.executeMultiTargetChildren(GlobalOperationHandlers.java:895)
>         at org.jboss.as.controller.operations.global.GlobalOperationHandlers$AbstractAddressResolver.execute(GlobalOperationHandlers.java:440)
>         at org.jboss.as.controller.operations.global.GlobalOperationHandlers$RegistrationAddressResolver.executeSingleTargetChild(GlobalOperationHandlers.java:903)
>         at org.jboss.as.controller.operations.global.GlobalOperationHandlers$AbstractAddressResolver.execute(GlobalOperationHandlers.java:442)
>         at org.jboss.as.controller.operations.global.GlobalOperationHandlers$AbstractAddressResolver.execute(GlobalOperationHandlers.java:337)
>         at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:951)
>         at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:694)
>         at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:389)
>         at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1363)
>         at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:410)
>         at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:232)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:213)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$300(ModelControllerClientOperationHandler.java:136)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:153)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:422)
>         at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:149)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:153)
>         at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
>         at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)
>         at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> {code}
> This op works
> {code}
> /subsystem=datasources/data-source=*:read-resource-description
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list