<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:52:40 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-242] Deserialization error in Yang Choice</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-242</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Not sure if related to &lt;a href=&quot;https://bugs.opendaylight.org/show_bug.cgi?id=1466&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.opendaylight.org/show_bug.cgi?id=1466&lt;/a&gt; or one more issue around Choice/Groups&lt;/p&gt;

&lt;p&gt;I have the following model:&lt;/p&gt;

&lt;p&gt;  grouping ip-port-locator {&lt;br/&gt;
    description&lt;br/&gt;
      &quot;Data plane-locator. The Service Function Forwarder uses the IP:port tuple&lt;br/&gt;
      to send packets to this Service Function.&quot;;&lt;br/&gt;
    leaf ip &lt;/p&gt;
{
      type inet:ip-address;
    }
&lt;p&gt;    leaf port &lt;/p&gt;
{
      type inet:port-number;
    }
&lt;p&gt;  }&lt;/p&gt;

&lt;p&gt;  grouping mac-address-locator {&lt;br/&gt;
    description&lt;br/&gt;
      &quot;Data plane-locator. The Service Function Forwarder uses the mac-address&lt;br/&gt;
       to send packets to this Service Function.&quot;;&lt;br/&gt;
    leaf mac &lt;/p&gt;
{
      type yang:mac-address;
    }
&lt;p&gt;  }&lt;/p&gt;

&lt;p&gt;  grouping data-plane-locator {&lt;br/&gt;
    choice locator-type {&lt;br/&gt;
      mandatory true;&lt;br/&gt;
      case ip &lt;/p&gt;
{
        uses ip-port-locator;
      }
&lt;p&gt;      case mac &lt;/p&gt;
{
        uses mac-address-locator;
      }
&lt;p&gt;    }&lt;br/&gt;
  }&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;In OnDataChanged() when I issue a getCreatedData, I get:&lt;/p&gt;

&lt;p&gt;2014-08-01 09:03:31.618 PDT &lt;span class=&quot;error&quot;&gt;&amp;#91;pool-15-thread-1&amp;#93;&lt;/span&gt; WARN  o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize path KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction, path=[org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.ServiceFunctions, org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction[key=ServiceFunctionKey [_name=fw-ca]]]}
&lt;p&gt; data Node&lt;span class=&quot;error&quot;&gt;&amp;#91;ImmutableCompositeNode&amp;#93;&lt;/span&gt;, qName&lt;span class=&quot;error&quot;&gt;&amp;#91;service-function&amp;#93;&lt;/span&gt;, modify&lt;span class=&quot;error&quot;&gt;&amp;#91;n/a&amp;#93;&lt;/span&gt;, children.size = 5&lt;br/&gt;
2014-08-01 09:03:31.633 PDT &lt;span class=&quot;error&quot;&gt;&amp;#91;pool-15-thread-1&amp;#93;&lt;/span&gt; WARN  o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-functions/(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-function/(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-function[&lt;/p&gt;
{(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)name=fw-ca}
&lt;p&gt;]=ImmutableMapEntryNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-function[&lt;/p&gt;
{(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)name=fw-ca}
&lt;p&gt;], value=[ImmutableContainerNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)sf-data-plane-locator, value=[ImmutableChoiceNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)locator-type, value=&lt;span class=&quot;error&quot;&gt;&amp;#91;ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)ip, value=172.16.155.100, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)port, value=5050, attributes={}}&amp;#93;&lt;/span&gt;}], attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)ip-mgmt-address, value=2001::2, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)service-function-forwarder, value=ovs-1, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)name, value=fw-ca, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sf?revision=2014-07-01)type, value=firewall, attributes={}}], attributes={}}, omitting it&lt;br/&gt;
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: Data deserialization failed&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.dataObjectFromDataDom(RuntimeGeneratedMappingServiceImpl.java:299) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.dataObjectFromDataDom(RuntimeMappingModule.java:145) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:259) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:272) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:106) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:223) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.sfc.provider.SfcProviderSfEntryDataListener.onDataChanged(SfcProviderSfEntryDataListener.java:81) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:198) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:33) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.FutureTask.run(FutureTask.java:262) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
Caused by: org.opendaylight.yangtools.sal.binding.generator.impl.TransformerGeneratorException: Failed to generate for type interface org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sl.rev140701.data.plane.locator.locator.type.Mac&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.TransformerGeneratorException.wrap(TransformerGeneratorException.java:18) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.AbstractTransformerGenerator.caseCodecFor(AbstractTransformerGenerator.java:117) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry.getCaseCodecFor(LazyGeneratedCodecRegistry.java:412) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DispatchChoiceCodecImpl.tryToLoadImplementation(LazyGeneratedCodecRegistry.java:1031) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DispatchChoiceCodecImpl.tryToLoadImplementation(LazyGeneratedCodecRegistry.java:1020) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DispatchChoiceCodecImpl.tryToLoadImplementations(LazyGeneratedCodecRegistry.java:1045) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DispatchChoiceCodecImpl.adaptForPathImpl(LazyGeneratedCodecRegistry.java:1055) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$LocationAwareDispatchCodec.adaptForPath(LazyGeneratedCodecRegistry.java:789) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$LocationAwareDispatchCodec.deserialize(LazyGeneratedCodecRegistry.java:709) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sl.rev140701.data.plane.locator.LocatorType$Broker$Codec$DOM.fromDomStatic(LocatorType$Broker$Codec$DOM.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.function.entry.SfDataPlaneLocator$Broker$Codec$DOM.fromDomStatic(SfDataPlaneLocator$Broker$Codec$DOM.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction$Broker$Codec$DOM.fromDomStatic(ServiceFunction$Broker$Codec$DOM.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction$Broker$Codec$DOM.deserialize(ServiceFunction$Broker$Codec$DOM.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry$DataContainerCodecImpl.deserialize(LazyGeneratedCodecRegistry.java:641) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.dataObjectFromDataDom(RuntimeGeneratedMappingServiceImpl.java:291) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	... 13 common frames omitted&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Mac OS&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="22662">YANGTOOLS-242</key>
            <summary>Deserialization error in Yang Choice</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="tony.tkacik@gmail.com">Tony Tkacik</assignee>
                                    <reporter username="repenno">Reinaldo Penno</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Aug 2014 16:31:45 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:13 +0000</updated>
                            <resolved>Wed, 8 Oct 2014 17:08:36 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="42904" author="rapenno@gmail.com" created="Fri, 1 Aug 2014 16:39:48 +0000"  >&lt;p&gt;I also found &lt;a href=&quot;https://bugs.opendaylight.org/show_bug.cgi?id=210&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.opendaylight.org/show_bug.cgi?id=210&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="42905" author="tony.tkacik@gmail.com" created="Mon, 4 Aug 2014 08:14:15 +0000"  >&lt;p&gt;Not related to &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-310&quot; title=&quot;Instance Identifier is unable to represent Choice / Case, only children&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-310&quot;&gt;&lt;del&gt;MDSAL-43&lt;/del&gt;&lt;/a&gt; (this is only about instance identifier) or 210 (this is about adding / improving generated TO)s.&lt;/p&gt;</comment>
                            <comment id="42906" author="rapenno@gmail.com" created="Tue, 5 Aug 2014 16:42:09 +0000"  >&lt;p&gt;Any progress on this one? All these DataDeserialization bugs are blocking SFC development since we can not test or progress development.&lt;/p&gt;</comment>
                            <comment id="42907" author="rapenno@gmail.com" created="Thu, 28 Aug 2014 19:49:23 +0000"  >&lt;p&gt;Any progress?&lt;/p&gt;</comment>
                            <comment id="42908" author="tony.tkacik@gmail.com" created="Tue, 2 Sep 2014 15:42:09 +0000"  >&lt;p&gt;Could you try with latest controller master?&lt;br/&gt;
Offending code was replaced with newer implementation, which should not experience&lt;br/&gt;
same failures anymore and should not have problem deserializing from XML to Binding. The replacement code was introduced in two weeks ago.&lt;/p&gt;</comment>
                            <comment id="42909" author="tony.tkacik@gmail.com" created="Sat, 20 Sep 2014 09:07:13 +0000"  >&lt;p&gt;Downgraded to major, since bug is present in legacy codecs, which are used in Hydrogen and Helium M4. Since Helium M5 this codecs are not used.&lt;/p&gt;</comment>
                            <comment id="42910" author="tony.tkacik@gmail.com" created="Wed, 8 Oct 2014 17:08:36 +0000"  >&lt;p&gt;New codecs infrastructure used for data operations does not experience this problem.&lt;/p&gt;</comment>
                    </comments>
                    <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>1467</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=1467]]></customfieldvalue>

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

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

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