<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:57:08 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-2076] Two-Node Cluster Fails to Install Snapshot on Clean Follower Node</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-2076</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;The two-node cluster fails to start when the leader has stored snapshot data and the follower is started as a clean instance without snapshot data. The leader node starts correctly, but the follower node encounters a repeating issue, which is displayed as:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
2023-04-14T13:40:29,326 | WARN &#160;| &lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;-35 &#160; &#160; &#160; &#160;| AbstractShardBackendResolver &#160; &#160; | 219 - org.opendaylight.controller.sal-distributed-datastore - 1.10.4 | Failed to resolve shard
java.util.concurrent.TimeoutException: Connection attempt failed
&#160; &#160; at org.opendaylight.controller.cluster.databroker.actors.dds.AbstractShardBackendResolver.wrap(AbstractShardBackendResolver.java:151) ~[219:org.opendaylight.controller.sal-distributed-datastore:1.10.4]
&#160; &#160; at org.opendaylight.controller.cluster.databroker.actors.dds.AbstractShardBackendResolver.onConnectResponse(AbstractShardBackendResolver.java:168) ~[219:org.opendaylight.controller.sal-distributed-datastore:1.10.4]
&#160; &#160; at org.opendaylight.controller.cluster.databroker.actors.dds.AbstractShardBackendResolver.lambda$connectShard$4(AbstractShardBackendResolver.java:161) ~[219:org.opendaylight.controller.sal-distributed-datastore:1.10.4]
&#160; &#160; at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) [?:?]
&#160; &#160; at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837) [?:?]
&#160; &#160; at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) [?:?]
&#160; &#160; at java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run(&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.java:829) [?:?]
Caused by: org.opendaylight.controller.cluster.access.concepts.RetiredGenerationException: Originating generation 0 was superseded by 2 &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This issue has been observed in the Sodium-SR4 release and &lt;b&gt;needs to be verified if it is present in the current master&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;To build the environment where I observed this issue, I used the integration-distribution repository with Java 11.&lt;br/&gt;
&lt;a href=&quot;https://github.com/opendaylight/integration-distribution/tree/release/sodium-sr4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/integration-distribution/tree/release/sodium-sr4&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Steps to reproduce the issue are as follows:&lt;/p&gt;

&lt;p&gt;(Prepare environment)&lt;br/&gt;
1) Start the two-node cluster and verify that it is working correctly. The initial configuration is appended in the attachments.&lt;br/&gt;
`feature:install odl-netconf-clustered-topology odl-restconf-nb-rfc8040 odl-clustering-test-app`&lt;br/&gt;
2) Add data to create some snapshots in ODL. My snapshot size is around 500MB.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
  &#160; curl --request POST &lt;span class=&quot;code-quote&quot;&gt;&apos;http:&lt;span class=&quot;code-comment&quot;&gt;//192.168.56.101:8181/rests/data/car:cars&apos;&lt;/span&gt; \
&lt;/span&gt;&#160; &#160; --header &lt;span class=&quot;code-quote&quot;&gt;&apos;Authorization: Basic YWRtaW46YWRtaW4=&apos;&lt;/span&gt; \
&#160; &#160; --header &lt;span class=&quot;code-quote&quot;&gt;&apos;Content-Type: application/json&apos;&lt;/span&gt; \
&#160; &#160; --data &apos;{
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;car-entry&quot;&lt;/span&gt;: [
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;id-&lt;span class=&quot;code-quote&quot;&gt;&apos;&quot;&lt;/span&gt;$id&lt;span class=&quot;code-quote&quot;&gt;&quot;&apos;&lt;/span&gt;-model&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;model&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;Lorem ipsum dolor....&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;manufacturer&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;Lorem ipsum dorem ....&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;year&quot;&lt;/span&gt;: 198454,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;category&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;Lorem ipsum dolor ...&quot;&lt;/span&gt;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; ]
&#160; &#160; &#160; &#160; &#160; &#160; }&apos; &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;3) Verify that the cluster is working correctly, even after restarting both nodes with snapshots.&lt;/p&gt;

&lt;p&gt;(Testing the issue)&lt;br/&gt;
1) Replace the ODL folder in the follower node with a clean ODL distribution.&lt;br/&gt;
2) Start the ODL leader, and then start the follower node with the required Karaf features installed.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="36834">CONTROLLER-2076</key>
            <summary>Two-Node Cluster Fails to Install Snapshot on Clean Follower Node</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="3" iconUrl="https://jira.opendaylight.org/images/icons/statuses/inprogress.png" description="This issue is being actively worked on at the moment by the assignee.">In Progress</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="ivanhrasko">Ivan Hrasko</assignee>
                                    <reporter username="PeterSuna">Peter Suna</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Mon, 17 Apr 2023 12:01:17 +0000</created>
                <updated>Mon, 22 Jan 2024 13:46:29 +0000</updated>
                                            <version>Sodium SR4</version>
                                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="72209" author="rovarga" created="Thu, 11 May 2023 17:23:56 +0000"  >&lt;p&gt;Note that having only two members configured is not something we support &#8211; RAFT requires an odd number of members to prevent split-brain problems.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="18708" name="karafFollowerMember-2.log" size="1224035" author="PeterSuna" created="Mon, 17 Apr 2023 12:04:02 +0000"/>
                            <attachment id="18709" name="karafLeaderMember-1.log" size="244136" author="PeterSuna" created="Mon, 17 Apr 2023 12:06:09 +0000"/>
                            <attachment id="18706" name="member-1-akka.conf" size="1448" author="PeterSuna" created="Mon, 17 Apr 2023 12:02:50 +0000"/>
                            <attachment id="18707" name="member-2-akka.conf" size="1448" author="PeterSuna" created="Mon, 17 Apr 2023 12:03:16 +0000"/>
                            <attachment id="18704" name="module-shards.conf" size="1517" author="PeterSuna" created="Mon, 17 Apr 2023 12:01:55 +0000"/>
                            <attachment id="18703" name="modules.conf" size="901" author="PeterSuna" created="Mon, 17 Apr 2023 12:01:55 +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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i044tz:</customfieldvalue>

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