<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:56:25 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>[CONTROLLER-1769] Global RPC call error in cluster</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1769</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;ODL cluster including node A and B&lt;br/&gt;
1. install feature odl-mdsal-clustering,odl-dluxapps-yangui and bundle org.opendaylight.controller.samples/sample-toaster/1.5.1-Carbon on node A,start this bundle&lt;br/&gt;
2. install feature odl-mdsal-all on Node B.&lt;br/&gt;
3. open web explorer and login in dlux on Node A&lt;br/&gt;
4. call rpc /operations/toaster:cancel-toast&lt;/p&gt;

&lt;p&gt;you will see:&lt;br/&gt;
Error sending request - : No implementation of RPC AbsoluteSchemaPath&lt;/p&gt;
{path=[(http://netconfcentral.org/ns/toaster?revision=2009-11-19)cancel-toast]}
&lt;p&gt; available on web explorer.&lt;/p&gt;

&lt;p&gt;AND&lt;/p&gt;

&lt;p&gt;2017-09-10 20:53:06,785 | ERROR | lt-dispatcher-42 | RpcInvoker                       | 197 - org.opendaylight.controller.sal-clustering-commons - 1.5.1.Carbon | Failed to execute RPC (&lt;a href=&quot;http://netconfcentral.org/ns/toaster?revision=2009-11-19)cancel-toast&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://netconfcentral.org/ns/toaster?revision=2009-11-19)cancel-toast&lt;/a&gt; due to org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No implementation of RPC AbsoluteSchemaPath&lt;/p&gt;
{path=[(http://netconfcentral.org/ns/toaster?revision=2009-11-19)cancel-toast]}
&lt;p&gt; available. More details are available on DEBUG level.  on NodeB&apos;s karaf.log&lt;/p&gt;



&lt;p&gt;Reason:&lt;br/&gt;
&quot;revision=2009-11-19&quot;  is wrong.&lt;/p&gt;

&lt;p&gt;In fact,in toaster.yang,defined as below:&lt;br/&gt;
    revision &quot;2009-11-20&quot; &lt;/p&gt;
{
      description
        &quot;Toaster module in progress.&quot;;
    }</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="26323">CONTROLLER-1769</key>
            <summary>Global RPC call error in cluster</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="geng.xingyuan@zte.com.cn">Geng Xingyuan</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Sep 2017 01:02:25 +0000</created>
                <updated>Tue, 25 Jul 2023 08:24:46 +0000</updated>
                            <resolved>Thu, 19 Jul 2018 01:33:36 +0000</resolved>
                                                    <fixVersion>Oxygen</fixVersion>
                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="52720" author="geng.xingyuan@zte.com.cn" created="Mon, 11 Sep 2017 03:17:55 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/62945/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/62945/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="52721" author="tpantelis" created="Mon, 11 Sep 2017 15:51:13 +0000"  >&lt;p&gt;The problem is a serialization issue due to QName&apos;s representation of revision as a Date when the nodes are in different timezones.&lt;/p&gt;</comment>
                            <comment id="52722" author="rovarga" created="Mon, 11 Sep 2017 17:48:43 +0000"  >&lt;p&gt;As such, we need to fix this without impacting the QName serialization format in older releases &amp;#8211; which is going to be interesting.&lt;/p&gt;

&lt;p&gt;At any rate, &lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-560&quot; title=&quot;QNameModule.getRevision() should return a specialized object&quot; class=&quot;issue-link&quot; data-issue-key=&quot;YANGTOOLS-560&quot;&gt;&lt;del&gt;YANGTOOLS-560&lt;/del&gt;&lt;/a&gt; preliminarily set for Oxygen (due to its breaking nature) will solve this.&lt;/p&gt;</comment>
                            <comment id="52723" author="rovarga" created="Mon, 11 Sep 2017 18:01:38 +0000"  >&lt;p&gt;This may actually be a formatting problem, i.e. when we are converting Date to String representation.&lt;/p&gt;

&lt;p&gt;External reference: &lt;a href=&quot;https://coderanch.com/t/401533/java/Date-serialization-timezones&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://coderanch.com/t/401533/java/Date-serialization-timezones&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hence this could, in theory, boil down to a simple patch to SimpleDateFormatUtil &amp;#8211; except we&apos;ll need to also find any call sites which open-code the transformation.&lt;/p&gt;

&lt;p&gt;Something along the lines of &lt;a href=&quot;https://git.opendaylight.org/gerrit/62998&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/62998&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="52724" author="geng.xingyuan@zte.com.cn" created="Tue, 12 Sep 2017 01:39:41 +0000"  >&lt;p&gt;Sadly,this patch causes other problem.&lt;br/&gt;
Maybe omitted something.&lt;/p&gt;

&lt;p&gt;I verified this patch as below:&lt;br/&gt;
1. compile the patch code and copy yang-common-1.1.1-Carbon.jar to distribution-karaf-0.6.1-Carbon/system/org/opendaylight/yangtools/yang-common/1.1.1-Carbon/&lt;br/&gt;
2. start bin/karaf&lt;br/&gt;
3. feature:install odl-mdsal-all&lt;/p&gt;

&lt;p&gt;execute list command,we can see:&lt;br/&gt;
206 | Failure     |  80 | 1.5.1.Carbon                        | org.opendaylight.controller.sal-cluster-admin-impl                 &lt;br/&gt;
207 | Active      |  80 | 1.5.1.Carbon                        | sal-dom-xsql                                                       &lt;br/&gt;
208 | Active      |  80 | 1.5.1.Carbon                        | Apache Karaf :: Shell odl/xsql Commands                            &lt;br/&gt;
209 | Active      |  80 | 1.5.1.Carbon                        | sample-toaster                                                     &lt;br/&gt;
210 | GracePeriod |  80 | 1.5.1.Carbon                        | sample-toaster-consumer                                            &lt;br/&gt;
211 | GracePeriod |  80 | 1.5.1.Carbon                        | sample-toaster-provider&lt;/p&gt;</comment>
                            <comment id="52727" author="geng.xingyuan@zte.com.cn" created="Tue, 12 Sep 2017 01:40:28 +0000"  >&lt;p&gt;Attachment karaf.log has been added with description: karaf.log&lt;/p&gt;</comment>
                            <comment id="52725" author="geng.xingyuan@zte.com.cn" created="Tue, 12 Sep 2017 02:01:28 +0000"  >&lt;p&gt;I&apos;ve tested many times&#65292;the problem can be reproduced.&lt;/p&gt;



&lt;p&gt;oscp@A23343146-4:~/distribution-karaf-0.6.1-Carbon/bin$ java -version&lt;br/&gt;
openjdk version &quot;1.8.0_131&quot;&lt;br/&gt;
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)&lt;br/&gt;
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)&lt;/p&gt;</comment>
                            <comment id="52726" author="geng.xingyuan@zte.com.cn" created="Tue, 12 Sep 2017 03:07:58 +0000"  >&lt;p&gt;Caused by: java.lang.ClassNotFoundException: org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.toaster.app.config.rev160502.ToasterAppConfig&lt;br/&gt;
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_131&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_131&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_131&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_131&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.eclipse.core.runtime.internal.adaptor.ContextFinder.loadClass(ContextFinder.java:131)&lt;br/&gt;
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_131&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClass0(ClassLoaderUtils.java:104)&lt;br/&gt;
	at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:99)&lt;br/&gt;
	at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClassWithTCCL(ClassLoaderUtils.java:133)&lt;br/&gt;
	at org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy$TCCLClassLoadingStrategy.loadClass(GeneratedClassLoadingStrategy.java:44)&lt;br/&gt;
	at org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext.loadClass(ModuleInfoBackedContext.java:77)&lt;br/&gt;
	at org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy.loadClass(GeneratedClassLoadingStrategy.java:27)&lt;br/&gt;
	at Proxyed8bd450_a5ef_413c_99ee_962dba66622e.loadClass(Unknown Source)&lt;br/&gt;
	at org.opendaylight.mdsal.binding.generator.util.BindingRuntimeContext.getClassForSchema(BindingRuntimeContext.java:375)&lt;/p&gt;




&lt;p&gt;module toaster-app-config {&lt;br/&gt;
    yang-version 1;&lt;/p&gt;

&lt;p&gt;    ......&lt;/p&gt;

&lt;p&gt;    revision &quot;2016-05-03&quot; &lt;/p&gt;
{
        description
            &quot;Initial revision.&quot;;
    }

&lt;p&gt;    container toaster-app-config &lt;/p&gt;
{
        ......
    }
&lt;p&gt;}&lt;/p&gt;</comment>
                            <comment id="59974" author="rovarga" created="Tue, 7 Nov 2017 16:14:18 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-560&quot; title=&quot;QNameModule.getRevision() should return a specialized object&quot; class=&quot;issue-link&quot; data-issue-key=&quot;YANGTOOLS-560&quot;&gt;&lt;del&gt;YANGTOOLS-560&lt;/del&gt;&lt;/a&gt; fixes this in Oxygen timeframe by eliminating use of Date.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="28756">CONTROLLER-1788</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13699" name="karaf.log" size="156382" author="geng.xingyuan@zte.com.cn" created="Tue, 12 Sep 2017 01:40:28 +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>9135</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=9135]]></customfieldvalue>

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

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

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