[jboss-jira] [JBoss JIRA] (WFLY-3705) read-resource recursive-depth has no effect when recursive=true

Arcadiy Ivanov (JIRA) issues at jboss.org
Tue Aug 12 19:04:29 EDT 2014


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

Arcadiy Ivanov commented on WFLY-3705:
--------------------------------------

FYI: The build system is unstable and produces non-deterministic results:

The last manually triggered build of this ended up with only one failure vs 2 failures in a previous identical build and 11 failures in the previous functionally-identical change:

java.lang.AssertionError: null
    at org.junit.Assert.fail(Assert.java:86)
    at org.junit.Assert.assertTrue(Assert.java:41)
    at org.junit.Assert.assertTrue(Assert.java:52)
    at org.jboss.as.test.smoke.mgmt.BasicOperationsUnitTestCase.testReadResourceRecursiveDepth(BasicOperationsUnitTestCase.java:118)


> read-resource recursive-depth has no effect when recursive=true
> ---------------------------------------------------------------
>
>                 Key: WFLY-3705
>                 URL: https://issues.jboss.org/browse/WFLY-3705
>             Project: WildFly
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Documentation, Domain Management
>    Affects Versions: 8.1.0.Final
>         Environment: Linux aimobile-sm.servicemesh.com 3.15.7-200.fc20.x86_64 #1 SMP Mon Jul 28 18:50:26 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>            Reporter: Arcadiy Ivanov
>            Assignee: Brian Stansberry
>
> The code inside ReadResourceHandler.doExecuteInternal(OperationContext context, ModelNode operation) goes as follows:
> {noformat}
> final int recursiveDepth = operation.get(ModelDescriptionConstants.RECURSIVE_DEPTH).asInt(0);
> final boolean recursive = recursiveDepth > 0 || operation.get(ModelDescriptionConstants.RECURSIVE).asBoolean(false);
> {noformat}
> The [documentation|https://docs.jboss.org/author/display/WFLY8/Global+operations] states:
> recursive-depth – (int) – The depth to which information about child resources should be included *if recursive is {{true}*. If not set, the depth will be unlimited; i.e. all descendant resources will be included.
> The logic, however, as implemented goes - either recursive-depth is greater than zero OR recursive is true.
> The proper implementation should be:
> {noformat}
> final int recursiveDepth = operation.get(ModelDescriptionConstants.RECURSIVE_DEPTH).asInt(0);
> final boolean recursive =  operation.get(ModelDescriptionConstants.RECURSIVE).asBoolean(false) && 
>                 (!operation.get(ModelDescriptionConstants.RECURSIVE_DEPTH).isDefined() || recursiveDepth > 0);
> {noformat}
> The above snippet works as follows: recurs IF recursive is set AND (either recursive-depth is not defined OR recursive-depth is greater than 0).
>   



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)



More information about the jboss-jira mailing list