[jboss-jira] [JBoss JIRA] (WFLY-6628) read-resource responds with incorrect address when going through host controller

John Mazzitelli (JIRA) issues at jboss.org
Thu May 19 10:20:01 EDT 2016


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

John Mazzitelli commented on WFLY-6628:
---------------------------------------

Uh, it appears this is done on purpose, but I don't know why, and it doesn't seem right. In both: org.jboss.as.controller.PathAddress.pathAddress(ModelNode) and org.jboss.as.controller.PathAddress.pathAddress(List<PathElement>) I see code like:

   if (index == 1 && name.equals(SERVER) && seen.contains(HOST)) {
      seen.clear();
   }

But it seems to me that if I'm issuing a read-resource on an address such as "/host=slave/server=server-one/subsystem=datasources/data-source=*" then the response returning simply "/subsystem=datasources/data-source=ExampleDS" is wrong because that address is no longer fully qualified - outside of knowing the actual request that was made, you don't know what data-source this really is - was it host=slave? host=another? Was it server-one or server-two?

It seems to me this should return the full address as was queried, not a partial address. That is what my code is expecting anyway.

> read-resource responds with incorrect address when going through host controller
> --------------------------------------------------------------------------------
>
>                 Key: WFLY-6628
>                 URL: https://issues.jboss.org/browse/WFLY-6628
>             Project: WildFly
>          Issue Type: Bug
>          Components: Domain Management
>    Affects Versions: 10.0.0.Final
>            Reporter: John Mazzitelli
>            Assignee: Brian Stansberry
>
> I have a typical small domain setup: one master host controller (aka domain controller) and one slave host controller with "server-one" and "server-two" servers.
> I need to discover things running in those two servers (server-one and server-two). As part of the discovery, I invoke read-resource operations via the management interface - for example, to discover all the datasources in server-one:
> /host=slave/server=server-one/subsystem=datasources/data-source=*/:read-resource(include-runtime=true)
> For each returned datasource, I need to know that datasource's full address. The problem is, I do not get the full address. Instead, the CLI returns the following partial address:
> {
>     "outcome" => "success",
>     "result" => [{
>         "address" => [
>             ("subsystem" => "datasources"),
>             ("data-source" => "ExampleDS")
>         ],
>         "outcome" => "success",
>         "result" => {
>             "allocation-retry" => undefined,
> ...and the rest of the properties for the ExampleDS datasource...
>             }
>         }
>     }]
> }
> The address should be the full address of:
>         "address" => [
>             ("host" => "slave"),
>             ("server" => "server-one"),
>             ("subsystem" => "datasources"),
>             ("data-source" => "ExampleDS")
>         ],
> NOTE! This problem occurs both when I connect to the domain controller and when I connect to the slave host controller - it doesn't matter, the CLI returns the same erroneous address if connected to either one.



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


More information about the jboss-jira mailing list