<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:13 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-756] Yang parser fails with cryptic message when same source is added multiple times</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-756</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Our addressing of &lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-728&quot; title=&quot;Yangtools allows same name in top-level container name and RPC&quot; class=&quot;issue-link&quot; data-issue-key=&quot;YANGTOOLS-728&quot;&gt;&lt;del&gt;YANGTOOLS-728&lt;/del&gt;&lt;/a&gt; ensures we do not allow duplicate children to exist. This has an unfortunate side-effect that if we add the same model from multiple sources, like done in sal-rest-connector tests, we fail with:&lt;/p&gt;

&lt;p&gt;org.opendaylight.restconf.jersey.providers.JsonBodyReaderTest  Time elapsed: 0.043 sec  &amp;lt;&amp;lt;&amp;lt; ERROR!&lt;br/&gt;
org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException: Some of STATEMENT_DEFINITION modifiers for statements were not resolved.&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.propagateException(BuildGlobalContext.java:237)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.loadPhaseStatementsFor(BuildGlobalContext.java:289)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.loadPhaseStatements(BuildGlobalContext.java:280)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.executePhases(BuildGlobalContext.java:199)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.buildEffective(BuildGlobalContext.java:211)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:189)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.test.util.YangParserTestUtils.parseYangSources(YangParserTestUtils.java:123)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.test.util.YangParserTestUtils.parseYangSources(YangParserTestUtils.java:196)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.test.util.YangParserTestUtils.parseYangSources(YangParserTestUtils.java:264)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.test.util.YangParserTestUtils.parseYangSources(YangParserTestUtils.java:246)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.test.util.YangParserTestUtils.parseYangSources(YangParserTestUtils.java:212)&lt;br/&gt;
        at org.opendaylight.restconf.jersey.providers.JsonBodyReaderTest.initialization(JsonBodyReaderTest.java:75)&lt;br/&gt;
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br/&gt;
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)&lt;br/&gt;
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;br/&gt;
        at java.lang.reflect.Method.invoke(Method.java:498)&lt;br/&gt;
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)&lt;br/&gt;
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)&lt;br/&gt;
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)&lt;br/&gt;
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)&lt;br/&gt;
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)&lt;br/&gt;
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)&lt;br/&gt;
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)&lt;br/&gt;
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)&lt;br/&gt;
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)&lt;br/&gt;
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)&lt;br/&gt;
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)&lt;br/&gt;
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)&lt;br/&gt;
Caused by: org.opendaylight.yangtools.yang.parser.spi.source.SourceException: Error in module &apos;ietf-yang-library&apos;: cannot add &apos;(urn:ietf:params:xml:ns:yang:ietf-yang-library?revision=2016-06-21)modules-state&apos;. Node name collision: &apos;(urn:ietf:params:xml:ns:yang:ietf-yang-library?revision=2016-06-21)modules-state&apos; already declared at /home/user/odl/netconf/restconf/sal-rest-connector/target/test-classes/modules/ietf-yang-library@2016-06-21.yang:174:2 &lt;span class=&quot;error&quot;&gt;&amp;#91;at /home/user/odl/netconf/restconf/sal-rest-connector/target/test-classes/invoke-rpc/ietf-yang-library@2016-06-21.yang:174:2&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.ChildSchemaNodes.addTo(ChildSchemaNodes.java:61)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.ChildSchemaNodes.addTo(ChildSchemaNodes.java:26)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.SimpleNamespaceContext.addTo(SimpleNamespaceContext.java:42)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.NamespaceStorageSupport.addToNs(NamespaceStorageSupport.java:65)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.ContainerStatementImpl$Definition.onStatementAdded(ContainerStatementImpl.java:76)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.onStatementAdded(StatementDefinitionContext.java:48)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createSubstatement(StatementContextBase.java:368)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext.createDeclaredChild(SourceSpecificContext.java:180)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextWriter.startStatement(StatementContextWriter.java:32)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.impl.YangStatementParserListenerImpl.enterStatement(YangStatementParserListenerImpl.java:100)&lt;br/&gt;
        at org.opendaylight.yangtools.antlrv4.code.gen.YangStatementParser$StatementContext.enterRule(YangStatementParser.java:113)&lt;br/&gt;
        at org.antlr.v4.runtime.tree.ParseTreeWalker.enterRule(ParseTreeWalker.java:66)&lt;br/&gt;
        at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:49)&lt;br/&gt;
        at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:52)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl.writeLinkageAndStatementDefinitions(YangStatementSourceImpl.java:98)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext.loadStatements(SourceSpecificContext.java:400)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.loadPhaseStatementsFor(BuildGlobalContext.java:287)&lt;br/&gt;
        ... 26 more&lt;/p&gt;

&lt;p&gt;This indicates some amount of disconnect between namespace handling and sources:  each source is expected to have its own namespace (or be a submodule).&lt;/p&gt;

&lt;p&gt;We need to check for these kinds of problems and either report a clear message pointing to those sources, or recover by ensuring they are unique (i.e. excluding some of them).&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23176">YANGTOOLS-756</key>
            <summary>Yang parser fails with cryptic message when same source is added multiple times</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="ifoltin">Igor Foltin</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Sat, 11 Mar 2017 20:08:12 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:58 +0000</updated>
                            <resolved>Tue, 25 Apr 2017 20:51:44 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="44377" author="rovarga" created="Sat, 11 Mar 2017 20:20:47 +0000"  >&lt;p&gt;The fix in NETCONF: &lt;a href=&quot;https://git.opendaylight.org/gerrit/53183&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/53183&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44378" author="ifoltin" created="Tue, 14 Mar 2017 08:37:49 +0000"  >&lt;p&gt;fix in yangtools: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53184/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53184/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44379" author="ifoltin" created="Tue, 14 Mar 2017 16:25:09 +0000"  >&lt;p&gt;yangtools fix for duplicate yang (sub)modules:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53283/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53283/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44380" author="pkajsa" created="Mon, 24 Apr 2017 06:31:37 +0000"  >&lt;p&gt;Need to be back-ported to Boron due to &lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-772&quot; title=&quot;Same namespaces alloved in build-time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;YANGTOOLS-772&quot;&gt;&lt;del&gt;YANGTOOLS-772&lt;/del&gt;&lt;/a&gt; (&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53283/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53283/&lt;/a&gt;)&lt;/p&gt;</comment>
                            <comment id="44381" author="ifoltin" created="Tue, 25 Apr 2017 10:21:25 +0000"  >&lt;p&gt;backport to stable/boron:&lt;/p&gt;

&lt;p&gt;netconf: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/55970/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/55970/&lt;/a&gt;&lt;br/&gt;
yangtools: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/55961/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/55961/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="23192">YANGTOOLS-772</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </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>7954</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=7954]]></customfieldvalue>

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

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

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

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