]
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.