]
Brian Stansberry commented on WFCORE-628:
-----------------------------------------
Harald, WFCORE-628 is the promised JIRA for the mixed domain stuff we chatted about last
Thursday.
Support for 'query' operation on legacy slaves
----------------------------------------------
Key: WFCORE-628
URL:
https://issues.jboss.org/browse/WFCORE-628
Project: WildFly Core
Issue Type: Feature Request
Components: Domain Management
Reporter: Brian Stansberry
Fix For: 2.0.0.Beta1
WFCORE-287 will introduce a new 'query' operation. But in a mixed domain, slaves
running legacy versions will not understand that operation. So the console, when managing
such a domain will either need to analyze the management API version of each host and not
target 'query' ops to legacy hosts, or we need to figure out a way to emulate
support on the DC.
One thought I had was to use a transformer. My understanding of how query works is
it's essentially a read-resource and then some post-processing is applied to filter
the result. So my thought is an operation transformer can convert the query op to a
read-resource op, which the slave will understand, and then a result transformer on the DC
does the filtering work.
There may of course be gotchas there.
One issue I see is I think this query op is going to be a global op. I don't believe
we currently have hooks for registering transformers for global ops. That is, there's
nothing like the 'inherited' handling we use for registering the handler for the
global op and then discovering it when resolving the operation name against child resource
registrations.
Another issue to remember is 'query' op will support wildcard addresses, so the
result transformer will need to understand how to detect and deal with the different
result format from a wildcard read-resource (result is a LIST of OBJECT) versus a simple
read-resource (just an OBJECT).
It's better if the filtering is done as soon as possible (to save the cost of
transmitting data from servers to slaves to the DC just so the DC can filter) but for this
mixed domain case I think it's ok to send the full read-resource result back to the
DC.