<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:34 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[NETCONF-660] RFC 8040 query fails to return field if subfields specified for another element</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-660</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;Title: odl-restconf-nb-rfc8040 fails to return field if subfields specified for another element&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;The RFC8040 implementation returns an incomplete result if, at the same level, you request subfields from a container.&lt;/p&gt;

&lt;p&gt;If we query for the manufactured-thing and structure, we get the following result:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
Operation: GET
URL: http:&lt;span class=&quot;code-comment&quot;&gt;//\{{lmsdner}}:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=siae_alcplus2e_12969/yang-ext:mount/core-model-1-4:control-construct/equipment=RADIO-2A?content=config&amp;amp;fields=uuid;actual-equipment(manufactured-thing;structure)
&lt;/span&gt;
RESULT:

{
&#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;core-model-1-4:equipment&quot;&lt;/span&gt;: [
&#160; &#160; &#160; &#160; {
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;uuid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;RADIO-2A&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;actual-equipment&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;manufactured-thing&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;operator&lt;/span&gt;-augmented-equipment-instance&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;asset-instance-identifier&quot;&lt;/span&gt;: &quot;&quot;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; },
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;equipment-type&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;version&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;001&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;description&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;RADIO connected to RADIO-2A&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;model-identifier&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;ODU MW &lt;span class=&quot;code-keyword&quot;&gt;interface&lt;/span&gt;&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;part-type-identifier&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;GE8705-52&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;type-name&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;RADIO&quot;&lt;/span&gt;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; },
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;operator&lt;/span&gt;-augmented-equipment-type&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;asset-type-identifier&quot;&lt;/span&gt;: &quot;&quot;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; },
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;equipment-instance&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;serial-number&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;101821829000120&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;manufacture-date&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;1970-01-01T00:00:00.0+00:00&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;asset-instance-identifier&quot;&lt;/span&gt;: &quot;&quot;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; },
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;manufacturer-properties&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;manufacturer-name&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;SIAE Microelettronica SpA&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;manufacturer-identifier&quot;&lt;/span&gt;: &quot;&quot;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; },
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;structure&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;category&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;core-model-1-4:EQUIPMENT_CATEGORY_STAND_ALONE_UNIT&quot;&lt;/span&gt;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; }
&#160; &#160; ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;However, if we try to filter the content of manufactured-thing to get just the equipment-type, the structure container is no longer returned:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
URL:
http:&lt;span class=&quot;code-comment&quot;&gt;//\{{lmsdner}}:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=siae_alcplus2e_12969/yang-ext:mount/core-model-1-4:control-construct/equipment=RADIO-2A?content=config&amp;amp;fields=uuid;actual-equipment(manufactured-thing(equipment-type);structure)
&lt;/span&gt;
{
&#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;core-model-1-4:equipment&quot;&lt;/span&gt;: [
&#160; &#160; &#160; &#160; {
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;uuid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;RADIO-2A&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;actual-equipment&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;manufactured-thing&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;equipment-type&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;version&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;001&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;description&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;RADIO connected to RADIO-2A&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;model-identifier&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;ODU MW &lt;span class=&quot;code-keyword&quot;&gt;interface&lt;/span&gt;&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;part-type-identifier&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;GE8705-52&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;type-name&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;RADIO&quot;&lt;/span&gt;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; }
&#160; &#160; ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="32462">NETCONF-660</key>
            <summary>RFC 8040 query fails to return field if subfields specified for another element</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="ppuskar">Peter Pu&#353;k&#225;r</assignee>
                                    <reporter username="allanclarke">Allan Clarke</reporter>
                        <labels>
                    </labels>
                <created>Fri, 6 Mar 2020 22:37:08 +0000</created>
                <updated>Mon, 22 Aug 2022 08:24:34 +0000</updated>
                            <resolved>Fri, 29 Jul 2022 18:47:19 +0000</resolved>
                                                    <fixVersion>3.0.6</fixVersion>
                    <fixVersion>4.0.1</fixVersion>
                                    <component>restconf-nb</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="67952" author="allanclarke" created="Fri, 6 Mar 2020 22:43:06 +0000"  >&lt;p&gt;NOTE there are very useful Yang models and Postman collection on &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-658&quot; title=&quot;RFC 8040 &amp;quot;fields&amp;quot; query fails if requested subelement missing&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-658&quot;&gt;&lt;del&gt;NETCONF-658&lt;/del&gt;&lt;/a&gt;!&lt;/p&gt;</comment>
                            <comment id="68036" author="mjethanandani" created="Tue, 21 Apr 2020 18:49:13 +0000"  >&lt;p&gt;Couple of observations regarding the issue.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The order of the elements (specifically query in the subfields) does not seem to matter. Even if it is placed last, an incomplete response is received.&lt;/li&gt;
	&lt;li&gt;It turns out that you do not need a device to reproduce the problem. The issue can be seen by setting up a configuration in MDSAL, and querying it.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="68039" author="allanclarke" created="Tue, 21 Apr 2020 21:20:03 +0000"  >&lt;p&gt;I believe that when I looked it up, it turned out that the query was incorrect. I supplied the corrected one to the originator and he confirmed. That is from my faulty memory. So please confirm the query is correct.&lt;/p&gt;</comment>
                            <comment id="68040" author="mjethanandani" created="Thu, 23 Apr 2020 00:05:29 +0000"  >&lt;p&gt;Ok.&lt;/p&gt;

&lt;p&gt;As I indicated in the email, I am having an issue with getting testtool to work. Keep getting the error &quot; JCE cannot authenticate the provider BC&quot;. A quick Google search talks about getting a certificate from Oracle to sign the JAR. This is on a Ubuntu machine running karaf built using stable/magnesium. If I download the testtool JAR file from nexus, I get the same error.&lt;/p&gt;

&lt;p&gt;12:59:04.268 &lt;span class=&quot;error&quot;&gt;&amp;#91;main&amp;#93;&lt;/span&gt; INFO o.o.n.t.tool.NetconfDeviceSimulator - All simulated devices started successfully from port 17830 to 17830&lt;br/&gt;
12:59:35.860 &lt;span class=&quot;error&quot;&gt;&amp;#91;sshd-netconf-ssh-server-nio-group-thread-1&amp;#93;&lt;/span&gt; WARN o.a.s.s.session.ServerSessionImpl - exceptionCaught(ServerSessionImpl&lt;span class=&quot;error&quot;&gt;&amp;#91;null@/127.0.0.1:59288&amp;#93;&lt;/span&gt;)&lt;span class=&quot;error&quot;&gt;&amp;#91;state=Opened&amp;#93;&lt;/span&gt; NoSuchProviderException: JCE cannot authenticate the provider BC&lt;/p&gt;</comment>
                            <comment id="68041" author="allanclarke" created="Thu, 23 Apr 2020 01:09:28 +0000"  >&lt;p&gt;I have used testtool but without certificates, so have not hit those hurdles. You can see my notes on &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-657&quot; title=&quot;Support plain PATCH per RFC8040&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-657&quot;&gt;&lt;del&gt;NETCONF-657&lt;/del&gt;&lt;/a&gt; for the command line I used.&lt;/p&gt;</comment>
                            <comment id="68054" author="mjethanandani" created="Fri, 24 Apr 2020 06:22:40 +0000"  >&lt;p&gt;I was able to get testool to work after I got a JCE certificate from Oracle and use it to sign the JAR file. So far so good.&#160;&lt;/p&gt;

&lt;p&gt;Back to this bug. If I use the schemas that you attached to &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-658&quot; title=&quot;RFC 8040 &amp;quot;fields&amp;quot; query fails if requested subelement missing&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-658&quot;&gt;&lt;del&gt;NETCONF-658&lt;/del&gt;&lt;/a&gt; for core-model-1-4, I get the following error when I start testtool.&lt;/p&gt;

&lt;p&gt;Caused by: org.opendaylight.yangtools.yang.model.repo.api.SchemaResolutionException: Failed to resolve required models, failed source: RevisionSourceIdentifier &lt;span class=&quot;error&quot;&gt;&amp;#91;name=core-model-1-4@2019-11-27&amp;#93;&lt;/span&gt;, resolved sources: [], unsatisfied imports: {}&lt;/p&gt;

&lt;p&gt;If I use pyang to validate the model, I get these errors. Indeed, uuid does not exist for the list &apos;logical-termination-point&apos;. Unless you meant to use the grouping &apos;global-class&apos; and accidentally commented it out. Same with commenting it out in the list &apos;layer-protocol&apos;.&lt;/p&gt;

&lt;p&gt;$ pyang core-model-1-4@2019-11-27.yang &lt;br/&gt;
core-model-1-4@2019-11-27.yang:1387: error: &quot;core-model-1-4:uuid&quot; in the path for logical-termination-point at core-model-1-4@2019-11-27.yang:2753 (at core-model-1-4@2019-11-27.yang:1385) is not found&lt;br/&gt;
core-model-1-4@2019-11-27.yang:1515: error: &quot;core-model-1-4:uuid&quot; in the path for logical-termination-point at core-model-1-4@2019-11-27.yang:2753 (at core-model-1-4@2019-11-27.yang:1513) is not found&lt;br/&gt;
core-model-1-4@2019-11-27.yang:1515: error: &quot;core-model-1-4:uuid&quot; in the path for logical-termination-point at core-model-1-4@2019-11-27.yang:2753 (at core-model-1-4@2019-11-27.yang:1513) is not found&lt;br/&gt;
core-model-1-4@2019-11-27.yang:2753 (at core-model-1-4@2019-11-27.yang:1673): error: the key &quot;local-id&quot; does not reference an existing leaf&lt;br/&gt;
core-model-1-4@2019-11-27.yang:1757: error: &quot;core-model-1-4:uuid&quot; in the path for logical-termination-point at core-model-1-4@2019-11-27.yang:2753 (at core-model-1-4@2019-11-27.yang:1755) is not found&lt;br/&gt;
core-model-1-4@2019-11-27.yang:2753 (at core-model-1-4@2019-11-27.yang:2773): error: the key &quot;uuid&quot; does not reference an existing leaf&lt;/p&gt;

&lt;p&gt;Anyway, after fixing those two errors in the YANG model, I was able to bring testtool up with these schemas.&lt;/p&gt;

&lt;p&gt;Next step, to see if I can reproduce the issue using the Postman files you have provided. Will keep an eye out for the query you said was incorrect.&lt;/p&gt;</comment>
                            <comment id="68056" author="allanclarke" created="Fri, 24 Apr 2020 17:48:44 +0000"  >&lt;p&gt;I had to go read about 8040 querying as part of &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-658&quot; title=&quot;RFC 8040 &amp;quot;fields&amp;quot; query fails if requested subelement missing&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-658&quot;&gt;&lt;del&gt;NETCONF-658&lt;/del&gt;&lt;/a&gt;, so was careful in looking at the URL, particularly... fields=uuid;actual-equipment(manufactured-thing;structure)&lt;/p&gt;

&lt;p&gt;I think this was a set of 3 defects filed together using the same data/query. &lt;/p&gt;

&lt;p&gt;I noticed that it was not correct for what Peter&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/help_16.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; wanted, so ended up closing the JIRA issue. So double check that the query is correctly specified above.&lt;/p&gt;</comment>
                            <comment id="68070" author="mjethanandani" created="Wed, 29 Apr 2020 00:40:50 +0000"  >&lt;p&gt;Turns out that the issue was with how we decide which child nodes need to be written in the output stream. As the logic currently stands, the children of sibling nodes are fetched, but ignored when writing the output stream.&lt;/p&gt;

&lt;p&gt;Have a fix that I believe addresses the issue. Have used the one Postman scripts uploaded as part of &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-657&quot; title=&quot;Support plain PATCH per RFC8040&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-657&quot;&gt;&lt;del&gt;NETCONF-657&lt;/del&gt;&lt;/a&gt; (and modified for this bug) to validate. However, the second create of configuration is incorrect (as already noted by Allan) as it tries to create a ethernet-container-pac, which does not exist. The other two models bundled with this are notifications, and as such do not contain any config or nonconfig data elements.&lt;/p&gt;

&lt;p&gt;Other than the one Postman script, are their any other tests I can run to validate the fix?&lt;/p&gt;</comment>
                            <comment id="68071" author="allanclarke" created="Wed, 29 Apr 2020 01:12:44 +0000"  >&lt;p&gt;Everything I had I attached to that other report. I have no other source.&lt;/p&gt;</comment>
                            <comment id="68082" author="mjethanandani" created="Fri, 1 May 2020 20:57:48 +0000"  >&lt;p&gt;As reported before, the fix that has been tried on the configuration that Allan reported yields the following result:&lt;/p&gt;

&lt;p&gt;The query is as before:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
http:&lt;span class=&quot;code-comment&quot;&gt;//127.0.0.1:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=testtool/yang-ext:mount/core-model-1-4:control-construct/equipment=RADIO-2A?content=config&amp;amp;fields=uuid;actual-equipment(manufactured-thing(equipment-type);structure) &lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;The result of that now is the following:&lt;/p&gt;

&lt;p&gt;&#160;&lt;br/&gt;
&amp;lt;equipment&#160;xmlns=&quot;urn:onf:yang:core-model-1-4&quot;&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&amp;lt;uuid&amp;gt;RADIO-2A&amp;lt;/uuid&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&amp;lt;actual-equipment&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;structure&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;category&amp;gt;EQUIPMENT_CATEGORY_STAND_ALONE_UNIT&amp;lt;/category&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/structure&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;manufactured-thing&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;equipment-type&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;version&amp;gt;001&amp;lt;/version&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;description&amp;gt;RADIO&#160;connected&#160;to&#160;RADIO-2A&amp;lt;/description&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;model-identifier&amp;gt;ODU&#160;MW&#160;interface&amp;lt;/model-identifier&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;part-type-identifier&amp;gt;GE8705-52&amp;lt;/part-type-identifier&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;type-name&amp;gt;RADIO&amp;lt;/type-name&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/equipment-type&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/manufactured-thing&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&amp;lt;/actual-equipment&amp;gt;&lt;br/&gt;
&amp;lt;/equipment&amp;gt;&lt;br/&gt;
&#160;&lt;br/&gt;
When I expanded the configuration to include more siblings, and more importantly siblings with more child containers such as here:&lt;br/&gt;
&#160;&lt;br/&gt;
&amp;lt;control-construct&#160;xmlns=&quot;urn:onf:yang:core-model-1-4&quot;&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&amp;lt;equipment&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;uuid&amp;gt;RADIO-2A&amp;lt;/uuid&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;actual-equipment&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;structure&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;category&amp;gt;EQUIPMENT_CATEGORY_STAND_ALONE_UNIT&amp;lt;/category&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/structure&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;environmental-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;thermal-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;minimum-temperature&amp;gt;0&amp;lt;/minimum-temperature&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;maximum-temperature&amp;gt;100&amp;lt;/maximum-temperature&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;thermal-rating-name&amp;gt;THERMAL_RATING&amp;lt;/thermal-rating-name&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/thermal-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;power-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;power-rating-value&amp;gt;POWER_RATING_VALUE&amp;lt;/power-rating-value&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;power-rating-name&amp;gt;POWER_RATING_NAME&amp;lt;/power-rating-name&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/power-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/environmental-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;manufactured-thing&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;operator-augmented-equipment-instance&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;asset-instance-identifier/&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/operator-augmented-equipment-instance&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;equipment-type&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;version&amp;gt;001&amp;lt;/version&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;description&amp;gt;RADIO&#160;connected&#160;to&#160;RADIO-2A&amp;lt;/description&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;model-identifier&amp;gt;ODU&#160;MW&#160;interface&amp;lt;/model-identifier&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;part-type-identifier&amp;gt;GE8705-52&amp;lt;/part-type-identifier&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;type-name&amp;gt;RADIO&amp;lt;/type-name&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/equipment-type&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;operator-augmented-equipment-type&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;asset-type-identifier/&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/operator-augmented-equipment-type&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;equipment-instance&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;serial-number&amp;gt;101821829000120&amp;lt;/serial-number&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;manufacture-date&amp;gt;1970-01-01T00:00:00.0+00:00&amp;lt;/manufacture-date&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;asset-instance-identifier/&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/equipment-instance&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;manufacturer-properties&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;manufacturer-name&amp;gt;SIAE&#160;Microelettronica&#160;SpA&amp;lt;/manufacturer-name&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;manufacturer-identifier/&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/manufacturer-properties&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/manufactured-thing&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/actual-equipment&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&amp;lt;/equipment&amp;gt;&lt;br/&gt;
&amp;lt;/control-construct&amp;gt;&lt;br/&gt;
&#160;&lt;br/&gt;
And send the following GET request:&lt;br/&gt;
&#160;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
http:&lt;span class=&quot;code-comment&quot;&gt;//127.0.0.1:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=testtool/yang-ext:mount/core-model-1-4:control-construct/equipment=RADIO-2A?content=config&amp;amp;fields=uuid;actual-equipment(manufactured-thing(equipment-type);structure;environmental-rating) &lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;br/&gt;
I get the following output:&lt;br/&gt;
&#160;&lt;br/&gt;
&amp;lt;equipment&#160;xmlns=&quot;urn:onf:yang:core-model-1-4&quot;&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&amp;lt;uuid&amp;gt;RADIO-2A&amp;lt;/uuid&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&amp;lt;actual-equipment&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;structure&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;category&amp;gt;EQUIPMENT_CATEGORY_STAND_ALONE_UNIT&amp;lt;/category&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/structure&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;environmental-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;thermal-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;minimum-temperature&amp;gt;0&amp;lt;/minimum-temperature&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;maximum-temperature&amp;gt;100&amp;lt;/maximum-temperature&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;thermal-rating-name&amp;gt;THERMAL_RATING&amp;lt;/thermal-rating-name&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/thermal-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;power-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;power-rating-value&amp;gt;POWER_RATING_VALUE&amp;lt;/power-rating-value&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;power-rating-name&amp;gt;POWER_RATING_NAME&amp;lt;/power-rating-name&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/power-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/environmental-rating&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;manufactured-thing&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;equipment-type&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;version&amp;gt;001&amp;lt;/version&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;description&amp;gt;RADIO&#160;connected&#160;to&#160;RADIO-2A&amp;lt;/description&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;model-identifier&amp;gt;ODU&#160;MW&#160;interface&amp;lt;/model-identifier&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;part-type-identifier&amp;gt;GE8705-52&amp;lt;/part-type-identifier&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;type-name&amp;gt;RADIO&amp;lt;/type-name&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/equipment-type&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;lt;/manufactured-thing&amp;gt;&lt;br/&gt;
&#160;&#160;&#160;&#160;&amp;lt;/actual-equipment&amp;gt;&lt;br/&gt;
&amp;lt;/equipment&amp;gt;&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&lt;br/&gt;
However, what I realize is that even with the fix, the solution does not take into consideration that a child with the same node name can exist in a sibling container. For example, in the above configuration, if there was a second sibling container inside &apos;environment-rating&apos; container called &apos;thermal-rating-2&apos; with exactly the same names for children, then the query can fail in all kind of unexpected ways. That is because the way the input parameter &apos;fields&apos; is parsed and stored as an array of HashIndex, causes it to lose the relationship between parent and child. Taking the example just cited, whether a child with the name &apos;power-rating-value&apos; belongs to &apos;thermal-rating&apos; or &apos;thermal-rating-2&apos; is not apparent after &apos;fields&apos; is parsed. That loss of information leads to query failing in all sorts of ways.&lt;br/&gt;
&#160;&lt;br/&gt;
The ultimate fix, whether as part of this bug or another, I believe has to restore that relationship for the query to succeed. I am more than happy to be proven wrong &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="68088" author="ecelgp" created="Mon, 4 May 2020 21:04:22 +0000"  >&lt;p&gt;It looks to me you might have found another bug. If so, I would recommend to open a new ticket with the details including how to reproduce, and track it separately.&lt;/p&gt;</comment>
                            <comment id="68096" author="mjethanandani" created="Wed, 6 May 2020 17:54:23 +0000"  >&lt;p&gt;Attaching an updated set of Postman test cases that are being used as a benchmark to validate the changes. It expands on &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=allanclarke&quot; class=&quot;user-hover&quot; rel=&quot;allanclarke&quot;&gt;allanclarke&lt;/a&gt; test cases by:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;expanding the configuration model to add more sibling containers, and more importantly add a list in the sibling container (name). The addition of &apos;name&apos; is interesting because that name is duplicated across the model, and poses a challenge in which &apos;name&apos; is being fetched.&lt;/li&gt;
	&lt;li&gt;Test for sub-queries within sibling containers&lt;/li&gt;
	&lt;li&gt;Test for queries of lists within sibling containers. Check whether the key to each element of the list is printed, even when it is not specifically requested.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="68097" author="mjethanandani" created="Wed, 6 May 2020 21:12:24 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=ecelgp&quot; class=&quot;user-hover&quot; rel=&quot;ecelgp&quot;&gt;ecelgp&lt;/a&gt; , I considered what you are suggesting early on in development cycle - applying a narrow fix to the problem, but quickly realized that the expanded test cases were failing with that fix.&lt;/p&gt;

&lt;p&gt;The code changes that will be committed soon sets up the parent child relationship from the fields query, so a duplicate child name does not confuse the writeChildren() if children need to be printed in the output stream or not. The code is not perfect as there is no grandparent/grandchild relationship, but that is a battle for another day &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;.&lt;/p&gt;</comment>
                            <comment id="68123" author="jluhrsen" created="Mon, 18 May 2020 23:12:09 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=tcere&quot; class=&quot;user-hover&quot; rel=&quot;tcere&quot;&gt;tcere&lt;/a&gt;, &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=rovarga&quot; class=&quot;user-hover&quot; rel=&quot;rovarga&quot;&gt;rovarga&lt;/a&gt;, &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=wsx25289&quot; class=&quot;user-hover&quot; rel=&quot;wsx25289&quot;&gt;wsx25289&lt;/a&gt;, if anyone has some time could you take a look at this patch for review?&lt;/p&gt;</comment>
                            <comment id="68315" author="JIRAUSER12931" created="Thu, 2 Jul 2020 15:13:12 +0000"  >&lt;p&gt;after apply this patch we find out problem with one GET call(without this patch all works well):&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#505050&quot;&gt;127.0.0.1:8181/rests/data/network-topology:network-topology/topology=topology-netconf?content=nonconfig&amp;amp;fields=node(node-id)&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;h2&amp;gt;HTTP ERROR 500&amp;lt;/h2&amp;gt; &amp;lt;p&amp;gt;Problem accessing /rests/data/network-topology:network-topology/topology=topology-netconf. Reason: &amp;lt;pre&amp;gt; Request failed.&amp;lt;/pre&amp;gt;&lt;/p&gt;

&lt;p&gt;in karaf.log:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;2020-07-02T12:44:05,353 | WARN | qtp237340925-73 | HttpChannel | 163 - org.eclipse.jetty.util - 9.4.18.v20190429 | /rests/data/network-topology:network-topology/topology=topology-netconf
 javax.servlet.ServletException: javax.servlet.ServletException: java.lang.UnsupportedOperationException: Augmentation node has no QName
 at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:88) ~[?:?]
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.Server.handle(Server.java:505) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) [160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) [160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) [152:org.eclipse.jetty.io:9.4.18.v20190429]
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [152:org.eclipse.jetty.io:9.4.18.v20190429]
 at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [152:org.eclipse.jetty.io:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at java.lang.Thread.run(Thread.java:834) [?:?]
 Caused by: javax.servlet.ServletException: java.lang.UnsupportedOperationException: Augmentation node has no QName
 at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489) ~[?:?]
 at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623) ~[?:?]
 at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311) ~[?:?]
 at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[?:?]
 at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[?:?]
 at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[?:?]
 at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:51) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:59) ~[?:?]
 at com.luminanetworks.lsc.core.filters.CompactInfoFilter.doFilterInternal(CompactInfoFilter.java:32) ~[?:?]
 at com.luminanetworks.lsc.core.filters.AbstractRequestResponseLoggingFilter.doFilter(AbstractRequestResponseLoggingFilter.java:66) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:57) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:91) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.CustomFilterAdapter.doFilter(CustomFilterAdapter.java:76) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) ~[?:?]
 at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) ~[?:?]
 at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) ~[?:?]
 at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) ~[?:?]
 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) ~[?:?]
 at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) ~[?:?]
 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) ~[?:?]
 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) ~[?:?]
 at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
 ... 15 more
 Caused by: java.lang.UnsupportedOperationException: Augmentation node has no QName
 at org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$AugmentationIdentifier.getNodeType(YangInstanceIdentifier.java:930) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.writeAllChildren(ParameterAwareNormalizedNodeWriter.java:261) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.writeChildren(ParameterAwareNormalizedNodeWriter.java:284) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter$OrderedParameterAwareNormalizedNodeWriter.writeMapEntryNode(ParameterAwareNormalizedNodeWriter.java:450) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.wasProcessedAsCompositeNode(ParameterAwareNormalizedNodeWriter.java:354) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.write(ParameterAwareNormalizedNodeWriter.java:126) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.writeChildren(ParameterAwareNormalizedNodeWriter.java:297) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.wasProcessedAsCompositeNode(ParameterAwareNormalizedNodeWriter.java:380) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.write(ParameterAwareNormalizedNodeWriter.java:126) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.writeChildren(ParameterAwareNormalizedNodeWriter.java:297) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter$OrderedParameterAwareNormalizedNodeWriter.writeMapEntryNode(ParameterAwareNormalizedNodeWriter.java:450) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.wasProcessedAsCompositeNode(ParameterAwareNormalizedNodeWriter.java:354) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.write(ParameterAwareNormalizedNodeWriter.java:126) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.writeChildren(ParameterAwareNormalizedNodeWriter.java:297) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.wasProcessedAsCompositeNode(ParameterAwareNormalizedNodeWriter.java:380) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.write(ParameterAwareNormalizedNodeWriter.java:126) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter$OrderedParameterAwareNormalizedNodeWriter.write(ParameterAwareNormalizedNodeWriter.java:396) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.NormalizedNodeJsonBodyWriter.writeNormalizedNode(NormalizedNodeJsonBodyWriter.java:148) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.NormalizedNodeJsonBodyWriter.writeTo(NormalizedNodeJsonBodyWriter.java:93) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.NormalizedNodeJsonBodyWriter.writeTo(NormalizedNodeJsonBodyWriter.java:50) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.invokeWriteTo(WriterInterceptorExecutor.java:265) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:250) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162) ~[?:?]
 at org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:106) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162) ~[?:?]
 at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:86) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162) ~[?:?]
 at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1130) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:711) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:444) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:434) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:329) ~[?:?]
 at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[?:?]
 at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[?:?]
 at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[?:?]
 at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[?:?]
 at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[?:?]
 at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) ~[?:?]
 at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) ~[?:?]
 at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) ~[?:?]
 at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623) ~[?:?]
 at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311) ~[?:?]
 at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[?:?]
 at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[?:?]
 at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[?:?]
 at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:51) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:59) ~[?:?]
 at com.luminanetworks.lsc.core.filters.CompactInfoFilter.doFilterInternal(CompactInfoFilter.java:32) ~[?:?]
 at com.luminanetworks.lsc.core.filters.AbstractRequestResponseLoggingFilter.doFilter(AbstractRequestResponseLoggingFilter.java:66) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:57) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:91) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.CustomFilterAdapter.doFilter(CustomFilterAdapter.java:76) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) ~[?:?]
 at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) ~[?:?]
 at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) ~[?:?]
 at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) ~[?:?]
 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) ~[?:?]
 at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) ~[?:?]
 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) ~[?:?]
 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) ~[?:?]
 at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
 ... 15 more
 Suppressed: java.io.IOException: Incomplete document
 at com.google.gson.stream.JsonWriter.close(JsonWriter.java:559) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.NormalizedNodeJsonBodyWriter.writeTo(NormalizedNodeJsonBodyWriter.java:91) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.NormalizedNodeJsonBodyWriter.writeTo(NormalizedNodeJsonBodyWriter.java:50) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.invokeWriteTo(WriterInterceptorExecutor.java:265) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:250) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162) ~[?:?]
 at org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:106) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162) ~[?:?]
 at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:86) ~[?:?]
 at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162) ~[?:?]
 at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1130) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:711) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:444) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:434) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:329) ~[?:?]
 at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[?:?]
 at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[?:?]
 at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[?:?]
 at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[?:?]
 at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[?:?]
 at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) ~[?:?]
 at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) ~[?:?]
 at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) ~[?:?]
 at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) ~[?:?]
 at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) ~[?:?]
 at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623) ~[?:?]
 at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311) ~[?:?]
 at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) ~[?:?]
 at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[?:?]
 at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[?:?]
 at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[?:?]
 at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) ~[?:?]
 at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[?:?]
 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:51) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:59) ~[?:?]
 at com.luminanetworks.lsc.core.filters.CompactInfoFilter.doFilterInternal(CompactInfoFilter.java:32) ~[?:?]
 at com.luminanetworks.lsc.core.filters.AbstractRequestResponseLoggingFilter.doFilter(AbstractRequestResponseLoggingFilter.java:66) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:57) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.AAAFilterChain.doFilter(AAAFilterChain.java:91) ~[?:?]
 at org.opendaylight.aaa.filterchain.filters.CustomFilterAdapter.doFilter(CustomFilterAdapter.java:76) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[?:?]
 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) ~[?:?]
 at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) ~[?:?]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) ~[?:?]
 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.Server.handle(Server.java:505) ~[160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) [160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) [160:org.eclipse.jetty.server:9.4.18.v20190429]
 at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) [152:org.eclipse.jetty.io:9.4.18.v20190429]
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [152:org.eclipse.jetty.io:9.4.18.v20190429]
 at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [152:org.eclipse.jetty.io:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804) [163:org.eclipse.jetty.util:9.4.18.v20190429]
 at java.lang.Thread.run(Thread.java:834) [?:?]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="68402" author="JIRAUSER12931" created="Fri, 3 Jul 2020 07:17:21 +0000"  >&lt;p&gt;point from &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=jluhrsen&quot; class=&quot;user-hover&quot; rel=&quot;jluhrsen&quot;&gt;jluhrsen&lt;/a&gt; in gerrit helps&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;thanks&lt;/p&gt;</comment>
                            <comment id="70015" author="rovarga" created="Wed, 27 Oct 2021 21:17:05 +0000"  >&lt;p&gt;Okay, a year has passed. Having refactored half the RESTCONF  and I am circling back to this from a different angle.&lt;/p&gt;

&lt;p&gt;The problem here is the entire idea of List&amp;lt;Set&amp;lt;QName&amp;gt;&amp;gt; is wrong here. The source of what we are matching here is the &quot;fields&quot; parameter and we are supposed to only emit those specified in our output stream.&lt;br/&gt;
We have the semantics captured in restconf.rfc8040.FieldsParam, but that lacks two things:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;binding to namespaces, it effectively need to go through a AbstractQName.bindto() transition&lt;/li&gt;
	&lt;li&gt;matching against NormalizedNodes, which boils down to knowing which relative YangInstanceIdentifiers to emit&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Both exercises should be quite trivial, so that we can have a NormalizedFieldsParam, which has the exactly the same layout, but uses wildcard YangInstanceIdentifiers instead of NodeSelectors. In is up to ParameterAwareNormalizedNodeStreamWriter (or whatever it&apos;s called) to correctly apply YangInstanceIdentifier wildcards, which is pretty easy to do.&lt;/p&gt;</comment>
                            <comment id="70016" author="rovarga" created="Wed, 27 Oct 2021 21:20:02 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-820&quot; title=&quot;Fail to process RESTCONF fields on the mounted device&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-820&quot;&gt;&lt;del&gt;NETCONF-820&lt;/del&gt;&lt;/a&gt; also deals with fields parameter, but performs a slightly different transformation (I think). I do believe the YangInstanceIdentifiers produced by that code are quite close enough to what we need to solve this problem.&lt;/p&gt;</comment>
                            <comment id="70112" author="rovarga" created="Thu, 4 Nov 2021 23:44:15 +0000"  >&lt;p&gt;Hmm, this part is suspect:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; Caused by: java.lang.UnsupportedOperationException: Augmentation node has no QName
 at org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$AugmentationIdentifier.getNodeType(YangInstanceIdentifier.java:930) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.writeAllChildren(ParameterAwareNormalizedNodeWriter.java:261) ~[?:?]
 at org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter.writeChildren(ParameterAwareNormalizedNodeWriter.java:284) ~[?:?]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;i.e. ParameterAwareNormalizedNodeWriter does not know there are augmentations. This is really saying it assumes plain RFC7950 (not yang-data-api) schema tree or data tree mapping. Neither are appropriate when dealing with NormalizedNode, PathArgument, or really anything yang-data-api.&lt;/p&gt;

&lt;p&gt;This is reinforcing the other commends about ditching the Set&amp;lt;QName&amp;gt; idea.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="34450">NETCONF-820</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="15650" name="ODL.postman_collection.json" size="259714" author="mjethanandani" created="Wed, 6 May 2020 17:42:01 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03rd3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>