<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:20 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>[YANGTOOLS-794] Get OF Topology in XML hangs controller in Nitrogen</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-794</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;This could be K4 related, to reproduce:&lt;/p&gt;

&lt;p&gt;1) Install latest master K4 controller from nexus:&lt;br/&gt;
&lt;a href=&quot;https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.0-SNAPSHOT/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.0-SNAPSHOT/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Install feature: odl-openflowplugin-flow-services-rest&lt;/p&gt;

&lt;p&gt;3) Start mininet 1 switch: sudo mn --controller=remote,ip=192.168.0.1 --topo linear,1&lt;/p&gt;

&lt;p&gt;4) Do GET &lt;a href=&quot;http://192.168.0.1:8181/restconf/operational/network-topology:network-topology/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://192.168.0.1:8181/restconf/operational/network-topology:network-topology/&lt;/a&gt; using HTTP headers: Accept=application/xml, Content-Type=application/xml&lt;/p&gt;

&lt;p&gt;Controller hangs, only soultion is restart controller.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23214">YANGTOOLS-794</key>
            <summary>Get OF Topology in XML hangs controller in Nitrogen</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <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="-1">Unassigned</assignee>
                                    <reporter username="ecelgp">Luis Gomez</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Jul 2017 17:45:25 +0000</created>
                <updated>Sun, 10 Apr 2022 18:36:00 +0000</updated>
                            <resolved>Wed, 26 Jul 2017 09:20:42 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="44464" author="tomas.slusny@pantheon.tech" created="Fri, 7 Jul 2017 07:13:54 +0000"  >&lt;p&gt;It works for JSON, but hangs for XML, so I do not think that this issue is OpenFlowPlugin related at all. Maybe it is restconf related?&lt;/p&gt;</comment>
                            <comment id="44465" author="rovarga" created="Tue, 11 Jul 2017 16:46:18 +0000"  >&lt;p&gt;We need karaf.log and probably a thread dump.&lt;/p&gt;

&lt;p&gt;Also, what does &apos;controller hangs&apos; mean?&lt;/p&gt;</comment>
                            <comment id="44466" author="ecelgp" created="Wed, 12 Jul 2017 15:42:50 +0000"  >&lt;p&gt;I just tried this, the REST request hangs and I can perform other REST requests but the controller goes crazy in CPU even when I cancel the original request.&lt;/p&gt;

&lt;p&gt;There is nothing out of normal in karaf log and I attach the thread dump.&lt;/p&gt;</comment>
                            <comment id="44473" author="ecelgp" created="Wed, 12 Jul 2017 15:44:12 +0000"  >&lt;p&gt;Attachment thread_dump.txt has been added with description: Thread dump&lt;/p&gt;</comment>
                            <comment id="44467" author="rovarga" created="Wed, 12 Jul 2017 16:02:42 +0000"  >&lt;p&gt;&quot;qtp181445460-221&quot; #221 prio=5 os_prio=0 tid=0x00007f18241d3000 nid=0x175c runnable &lt;span class=&quot;error&quot;&gt;&amp;#91;0x00007f17b1ee6000&amp;#93;&lt;/span&gt;&lt;br/&gt;
   java.lang.Thread.State: RUNNABLE&lt;br/&gt;
	at java.lang.String.intern(Native Method)&lt;br/&gt;
	at com.sun.org.apache.xerces.internal.util.SymbolTable$Entry.&amp;lt;init&amp;gt;(SymbolTable.java:448)&lt;br/&gt;
	at com.sun.org.apache.xerces.internal.util.SymbolTable.addSymbol0(SymbolTable.java:195)&lt;br/&gt;
	at com.sun.org.apache.xerces.internal.util.SymbolTable.addSymbol(SymbolTable.java:176)&lt;br/&gt;
	at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl$NamespaceContextImpl.getNamespaceURI(XMLStreamWriterImpl.java:2051)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.RandomPrefix.alreadyUsedPrefix(RandomPrefix.java:66)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.RandomPrefix.encodePrefix(RandomPrefix.java:55)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.RandomPrefixInstanceIdentifierSerializer.prefixForNamespace(RandomPrefixInstanceIdentifierSerializer.java:34)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.util.AbstractNamespaceCodec.appendQName(AbstractNamespaceCodec.java:45)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.util.AbstractStringInstanceIdentifierCodec.serialize(AbstractStringInstanceIdentifierCodec.java:51)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.SchemaAwareXMLStreamWriterUtils.writeInstanceIdentifier(SchemaAwareXMLStreamWriterUtils.java:41)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.XMLStreamWriterUtils.write(XMLStreamWriterUtils.java:149)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.XMLStreamWriterUtils.writeValue(XMLStreamWriterUtils.java:103)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.XMLStreamWriterUtils.writeValue(XMLStreamWriterUtils.java:79)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.SchemaAwareXMLStreamNormalizedNodeStreamWriter.writeValue(SchemaAwareXMLStreamNormalizedNodeStreamWriter.java:51)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.SchemaAwareXMLStreamNormalizedNodeStreamWriter.writeValue(SchemaAwareXMLStreamNormalizedNodeStreamWriter.java:32)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.XMLStreamNormalizedNodeStreamWriter.writeElement(XMLStreamNormalizedNodeStreamWriter.java:179)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.codec.xml.SchemaAwareXMLStreamNormalizedNodeStreamWriter.leafNode(SchemaAwareXMLStreamNormalizedNodeStreamWriter.java:90)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessAsSimpleNode(NormalizedNodeWriter.java:145)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:101)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:169)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:223)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:97)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:169)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter$OrderedNormalizedNodeWriter.writeMapEntryNode(NormalizedNodeWriter.java:283)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:208)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:97)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:169)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:238)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:97)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:169)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter$OrderedNormalizedNodeWriter.writeMapEntryNode(NormalizedNodeWriter.java:283)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:208)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:97)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:169)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:238)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:97)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:169)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:195)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:97)&lt;br/&gt;
	at org.opendaylight.netconf.sal.rest.impl.RestconfDelegatingNormalizedNodeWriter.write(RestconfDelegatingNormalizedNodeWriter.java:37)&lt;br/&gt;
	at org.opendaylight.netconf.sal.rest.impl.RestconfDelegatingNormalizedNodeWriter.write(RestconfDelegatingNormalizedNodeWriter.java:19)&lt;br/&gt;
	at org.opendaylight.netconf.sal.rest.impl.NormalizedNodeXmlBodyWriter.writeNormalizedNode(NormalizedNodeXmlBodyWriter.java:127)&lt;br/&gt;
	at org.opendaylight.netconf.sal.rest.impl.NormalizedNodeXmlBodyWriter.writeTo(NormalizedNodeXmlBodyWriter.java:104)&lt;br/&gt;
	at org.opendaylight.netconf.sal.rest.impl.NormalizedNodeXmlBodyWriter.writeTo(NormalizedNodeXmlBodyWriter.java:52)&lt;br/&gt;
	at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:306)&lt;br/&gt;
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1479)&lt;br/&gt;
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)&lt;br/&gt;
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)&lt;br/&gt;
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)&lt;br/&gt;
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)&lt;br/&gt;
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)&lt;br/&gt;
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)&lt;/p&gt;


&lt;p&gt;Looks like RandomPrefix incorrectly processes the result of NamespaceContext.getNamespaceURI().&lt;/p&gt;</comment>
                            <comment id="44468" author="ecelgp" created="Wed, 12 Jul 2017 16:05:56 +0000"  >&lt;p&gt;In case it helps, here is the json output for the request that fais in XML:&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
    &quot;network-topology&quot;: {&lt;br/&gt;
        &quot;topology&quot;: [&lt;br/&gt;
            {&lt;br/&gt;
                &quot;topology-id&quot;: &quot;flow:1&quot;,&lt;br/&gt;
                &quot;node&quot;: [&lt;br/&gt;
                    {&lt;br/&gt;
                        &quot;node-id&quot;: &quot;openflow:1&quot;,&lt;br/&gt;
                        &quot;opendaylight-topology-inventory:inventory-node-ref&quot;: &quot;/opendaylight-inventory:nodes/opendaylight-inventory:node&lt;span class=&quot;error&quot;&gt;&amp;#91;opendaylight-inventory:id=&amp;#39;openflow:1&amp;#39;&amp;#93;&lt;/span&gt;&quot;,&lt;br/&gt;
                        &quot;termination-point&quot;: [&lt;br/&gt;
                            &lt;/p&gt;
{
                                &quot;tp-id&quot;: &quot;openflow:1:LOCAL&quot;,
                                &quot;opendaylight-topology-inventory:inventory-node-connector-ref&quot;: &quot;/opendaylight-inventory:nodes/opendaylight-inventory:node[opendaylight-inventory:id=&apos;openflow:1&apos;]/opendaylight-inventory:node-connector[opendaylight-inventory:id=&apos;openflow:1:LOCAL&apos;]&quot;
                            }
&lt;p&gt;,&lt;/p&gt;
                            {
                                &quot;tp-id&quot;: &quot;openflow:1:1&quot;,
                                &quot;opendaylight-topology-inventory:inventory-node-connector-ref&quot;: &quot;/opendaylight-inventory:nodes/opendaylight-inventory:node[opendaylight-inventory:id=&apos;openflow:1&apos;]/opendaylight-inventory:node-connector[opendaylight-inventory:id=&apos;openflow:1:1&apos;]&quot;
                            }
&lt;p&gt;                        ]&lt;br/&gt;
                    }&lt;br/&gt;
                ]&lt;br/&gt;
            }&lt;br/&gt;
        ]&lt;br/&gt;
    }&lt;br/&gt;
}&lt;/p&gt;</comment>
                            <comment id="44469" author="rovarga" created="Wed, 12 Jul 2017 23:15:22 +0000"  >&lt;p&gt;This also may have to do with RESTCONF&apos;s use of namespace repairing. It should not be needing that, I think.&lt;/p&gt;

&lt;p&gt;Maybe we should be checking the XMLWriter instance configuration?&lt;/p&gt;</comment>
                            <comment id="44470" author="pkajsa" created="Wed, 19 Jul 2017 13:35:24 +0000"  >&lt;p&gt;after performed investigation I have suspicios that maybe this loop (&lt;a href=&quot;https://github.com/opendaylight/yangtools/blob/master/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/RandomPrefix.java#L54&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/yangtools/blob/master/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/RandomPrefix.java#L54&lt;/a&gt;) runs infinitely, but I am not sure yet...&lt;/p&gt;</comment>
                            <comment id="44471" author="rovarga" created="Tue, 25 Jul 2017 18:35:47 +0000"  >&lt;p&gt;master: &lt;a href=&quot;https://git.opendaylight.org/gerrit/60736&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/60736&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This looks like a bug in JDK, as the return value does not seem to conform to javadoc (which states that for unbound prefixes an empty string should be returned).&lt;/p&gt;</comment>
                            <comment id="44472" author="rovarga" created="Tue, 25 Jul 2017 18:40:31 +0000"  >&lt;p&gt;In fact javax.xml.bind.DatatypeConverterImpl in jdk-1.8.0.131 on line 403 says:&lt;/p&gt;

&lt;p&gt;            uri = nsc.getNamespaceURI(prefix);&lt;br/&gt;
            // uri can never be null according to javadoc,&lt;br/&gt;
            // but some users reported that there are implementations that return null.&lt;br/&gt;
            if (uri == null || uri.length() == 0) // crap. the NamespaceContext interface is broken.&lt;br/&gt;
            // error: unbound prefix&lt;/p&gt;
            {
                throw new IllegalArgumentException(&quot;prefix &quot; + prefix + &quot; is not bound to a namespace&quot;);
            }</comment>
                    </comments>
                    <attachments>
                            <attachment id="13082" name="thread_dump.txt" size="124415" author="ecelgp@gmail.com" created="Wed, 12 Jul 2017 15:44:12 +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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8803</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=8803]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10320"><![CDATA[Nitrogen]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i029fb:</customfieldvalue>

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