<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:55:05 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-1258] Clustering: RPC failing in clustering data store integration tests</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1258</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;I&apos;m running /suites/clustering/datastore/020_crud_on_leader.txt.&lt;/p&gt;

&lt;p&gt;The Keywords that are failing are:&lt;/p&gt;

&lt;p&gt;Purchase cars on Leader&lt;br/&gt;
Purchase cars on Follower1&lt;br/&gt;
Purchase cars on Follower2&lt;/p&gt;

&lt;p&gt;What&apos;s happening is that the RPCs to &quot;buy a car&quot; only work when executed against one of the three controllers. Strangely it&apos;s note even the car-people shard leader.&lt;/p&gt;

&lt;p&gt;Tom Pantelis is running these test in Brocade&apos;s lab on Helium and they are passing. This bug is unique to Lithium.&lt;/p&gt;

&lt;p&gt;Procedure:&lt;/p&gt;

&lt;p&gt;Pull the latest stable Lithium Release. I pulled distribution-karaf-0.3.0-20150414.220637-1140.zip&lt;/p&gt;

&lt;p&gt;Use the python cluster deploy script.&lt;/p&gt;

&lt;p&gt;Let the test run. The shards configured themselves in this way:&lt;/p&gt;

&lt;p&gt;car shard&lt;/p&gt;
{&apos;member1&apos;: &apos;Follower&apos;,
&apos;member2&apos;: &apos;Leader&apos;,
&apos;member3&apos;: &apos;Follower&apos;}
&lt;p&gt;people shard&lt;/p&gt;
{&apos;member1&apos;: &apos;Follower&apos;,
&apos;member2&apos;: &apos;Follower&apos;,
&apos;member3&apos;: &apos;Leader&apos;}
&lt;p&gt;car-people shard&lt;/p&gt;
{&apos;member1&apos;: &apos;Leader&apos;,
&apos;member2&apos;: &apos;Follower&apos;,
&apos;member3&apos;: &apos;Follower&apos;}


&lt;p&gt;After the test completes, use ReST RPCs to purchase a car on member1, member2, and member2. &lt;/p&gt;

&lt;p&gt;URL:&lt;br/&gt;
&lt;a href=&quot;http://member1:8181/restconf/operations/car-purchase:buy-car&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://member1:8181/restconf/operations/car-purchase:buy-car&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JSON:&lt;br/&gt;
 { &quot;input&quot; : &lt;/p&gt;
  	{ 
      &quot;car-purchase:person&quot; : &quot;/people:people/people:person[people:id=&apos;user9&apos;]&quot;, 
      &quot;car-purchase:person-id&quot; : &quot;user9&quot;, 
      &quot;car-purchase:car-id&quot; : &quot;9&quot; 
    } 
&lt;p&gt; }&lt;/p&gt;

&lt;p&gt;For the first two members, there will be a 500 error in Postman, and nothing in the karaf log (there will be a separate bug addressing the log and error messages). Member3 gets a nice &#8220;200 OK&#8221; in Postman and I see an acknowledgement of the car purchase in the karaf log.&lt;/p&gt;

&lt;p&gt;RPCs are not working on two out of the three controllers.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25812">CONTROLLER-1258</key>
            <summary>Clustering: RPC failing in clustering data store integration tests</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="harmasin@cisco.com">Harman Singh</assignee>
                                    <reporter username="phillip.shea@hp.com">Phillip Shea</reporter>
                        <labels>
                    </labels>
                <created>Fri, 17 Apr 2015 18:07:18 +0000</created>
                <updated>Tue, 5 May 2015 16:42:15 +0000</updated>
                            <resolved>Tue, 5 May 2015 16:42:15 +0000</resolved>
                                    <version>Post-Helium</version>
                                                    <component>mdsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="50444" author="harmasin@cisco.com" created="Thu, 30 Apr 2015 00:33:20 +0000"  >&lt;p&gt;Tony, I investigated this issue before and to fix it, you have to change serialization in 	&lt;br/&gt;
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java&lt;/p&gt;

&lt;p&gt;This serialization works fine in unit tests, but with routed rpc,&lt;br/&gt;
remote server was not able to deserialize the object in AKKA messages properly. I have to switch to manual serialization of immutablemap.&lt;/p&gt;

&lt;p&gt;I made following changes, then it was working fine, &lt;/p&gt;

&lt;p&gt;1. make ImmutableList&amp;lt;PathArgument&amp;gt; legacyPath volatile&lt;/p&gt;

&lt;p&gt;private transient volatile ImmutableList&amp;lt;PathArgument&amp;gt; legacyPath = null;&lt;/p&gt;

&lt;p&gt;2. Change readObject, add following line - &lt;/p&gt;

&lt;p&gt;legacyPath = ImmutableList.copyOf((Collection&amp;lt;PathArgument&amp;gt;)inputStream.readObject());&lt;/p&gt;

&lt;p&gt;3. Change writeObject to following - &lt;/p&gt;

&lt;p&gt;ImmutableList&amp;lt;PathArgument&amp;gt; pathArguments = getLegacyPath(); outputStream.defaultWriteObject();	       &lt;br/&gt;
outputStream.writeObject(pathArguments);&lt;/p&gt;</comment>
                            <comment id="50445" author="tony.tkacik@gmail.com" created="Thu, 30 Apr 2015 12:24:15 +0000"  >&lt;p&gt;Harman could you provide patch to yangtools?&lt;/p&gt;</comment>
                            <comment id="50446" author="moraja@cisco.com" created="Thu, 30 Apr 2015 14:13:51 +0000"  >&lt;p&gt;If I recall right this happened due to some Class Loader issue where the code that was deserializing did not have access to Guava or something. This may be tricky to reproduce in a simple unit test.&lt;/p&gt;</comment>
                            <comment id="50447" author="harmasin@cisco.com" created="Thu, 30 Apr 2015 22:14:06 +0000"  >&lt;p&gt;Here is the patch -&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/19415/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/19415/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes Moiz, this is the same issue and we see following exception - &lt;br/&gt;
ERROR Remoting - cannot assign instance of com.google.common.collect.RegularImmutableList&lt;br/&gt;
to field org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.legacyPath of type&lt;br/&gt;
com.google.common.collect.ImmutableList in instance of org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier&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>3016</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=3016]]></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="10361"><![CDATA[Lithium-RC0]]></customfieldvalue>

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

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