[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