[
https://issues.jboss.org/browse/WFCORE-1800?page=com.atlassian.jira.plugi...
]
Brian Stansberry commented on WFCORE-1800:
------------------------------------------
Background comment on this for anyone interested in it that I mentioned to James when we
were discussing this:
[10:10 AM] Brian Stansberry: a kernel-wide fix just makes me nervous about unintentionally
breaking something
[10:11 AM] James R Perkins: Okay. It made me a bit nervous too which is why I didn't
submit a PR :)
[10:12 AM] Brian Stansberry: I think a long time ago we said that runtime-only resources
still have to expose a Resource in the tree, but I believe that was still after a lot of
subsystems were written
Basically a fix for this would likely further enforce the rule that a Resource must be
present in the tree, which may break some old stuff. I think it's the right thing to
do at some point anyway, but as part of it we need to recognize the potential for breakage
and do some analysis of runtime-only resources to ensure they are done correctly.
TBH there may have been some other changes (e.g. in read-resource handling) that would
have resulted in breakage if this rule wasn't being followed. But we should be
cautious.
Executing a read-attribute operation is allowed on non-existing
resources with for attributes with defined read handlers
------------------------------------------------------------------------------------------------------------------------
Key: WFCORE-1800
URL:
https://issues.jboss.org/browse/WFCORE-1800
Project: WildFly Core
Issue Type: Bug
Components: Domain Management
Reporter: James Perkins
Assignee: Brian Stansberry
Attachments: WFCORE-1800.patch
If an attribute defines an {{OperationStepHandler}} the global {{read-attribute}}
operation will execute the handler regardless if the resource exists.
Here's an example that will successfully execute and return the name {{invalid}} for
the {{name}} attribute even though the resource does not exist.
{code}
/path=invalid(name=name)
{code}
For attributes that use the default means of reading the attribute value the
{{context.readResource(PathAddress.EMPTY_ADDRESS, false)}} is already invoked which will
cause a failure. For attributes which define a custom read OSH the outcome is
unpredictable as the existence of the resource is not validated before invoking the OSH.
The attached patch simply invokes the {{context.readResource(PathAddress.EMPTY_ADDRESS,
false)}} before the invocation of the custom OSH.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)