<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:35:49 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>[OVSDB-221] Ownership changed consistently without down any node</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-221</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;I&#8217;m finding the inconsistency behaviour about ownership election in 3-node OVSDB southbound clustering.&lt;/p&gt;

&lt;p&gt;In 3-Node OVSDB Southbound cluster once owner node elected it should not be change until unless we goes down that node, but, in my observations find the ownership consistently changed one instance to another instance without bring down the node.&lt;/p&gt;





&lt;p&gt;below are my observations on 107 node.&lt;/p&gt;


&lt;p&gt;2015-11-02 07:23:23,428 | INFO  | lt-dispatcher-21 | OvsdbConnectionManager           | 174 - org.opendaylight.ovsdb.southbound-impl - 1.2.1.SNAPSHOT | handleOwnershipChanged: EntityOwnershipChanged [entity=Entity{type=&apos;ovsdb&apos;, id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[&lt;/p&gt;
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ovsdb:1}
&lt;p&gt;]/node/node[&lt;/p&gt;
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=ovsdb:/10.106.138.116:6640}
&lt;p&gt;]}, wasOwner=false, isOwner=true, hasOwner=true] event received for device ConnectionInfo &lt;span class=&quot;error&quot;&gt;&amp;#91;Remote-address=10.106.138.116, Remote-port=40335, Local-address10.106.138.107, Local-port=6640, type=PASSIVE&amp;#93;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;2015-11-02 08:16:48,965 | INFO  | lt-dispatcher-21 | OvsdbConnectionManager           | 174 - org.opendaylight.ovsdb.southbound-impl - 1.2.1.SNAPSHOT | handleOwnershipChanged: EntityOwnershipChanged [entity=Entity{type=&apos;ovsdb&apos;, id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[&lt;/p&gt;
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ovsdb:1}
&lt;p&gt;]/node/node[&lt;/p&gt;
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=ovsdb:/10.106.138.116:6640}
&lt;p&gt;]}, wasOwner=true, isOwner=false, hasOwner=true] event received for device ConnectionInfo &lt;span class=&quot;error&quot;&gt;&amp;#91;Remote-address=10.106.138.116, Remote-port=40335, Local-address10.106.138.107, Local-port=6640, type=PASSIVE&amp;#93;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;2015-11-02 08:17:42,892 | INFO  | lt-dispatcher-16 | OvsdbConnectionManager           | 174 - org.opendaylight.ovsdb.southbound-impl - 1.2.1.SNAPSHOT | handleOwnershipChanged: EntityOwnershipChanged [entity=Entity{type=&apos;ovsdb&apos;, id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[&lt;/p&gt;
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ovsdb:1}
&lt;p&gt;]/node/node[&lt;/p&gt;
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=ovsdb:/10.106.138.116:6640}
&lt;p&gt;]}, wasOwner=false, isOwner=true, hasOwner=true] event received for device ConnectionInfo &lt;span class=&quot;error&quot;&gt;&amp;#91;Remote-address=10.106.138.116, Remote-port=43804, Local-address10.106.138.107, Local-port=6640, type=PASSIVE&amp;#93;&lt;/span&gt;.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Windows&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="21913">OVSDB-221</key>
            <summary>Ownership changed consistently without down any node</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="Avishnoi">Anil Vishnoi</assignee>
                                    <reporter username="HariPrasidh">Hari Prasidh</reporter>
                        <labels>
                    </labels>
                <created>Mon, 2 Nov 2015 10:31:54 +0000</created>
                <updated>Mon, 30 Oct 2017 15:36:33 +0000</updated>
                            <resolved>Wed, 10 Feb 2016 13:06:51 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>Southbound.Open_vSwitch</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="41016" author="hariprasidh" created="Mon, 2 Nov 2015 10:36:51 +0000"  >&lt;p&gt;Attachment karaf_logs.zip has been added with description: karaf logs for your reference&lt;/p&gt;</comment>
                            <comment id="41008" author="vishnoianil@gmail.com" created="Mon, 2 Nov 2015 21:40:42 +0000"  >&lt;p&gt;Hari, looking at the logs &lt;/p&gt;

&lt;p&gt;2015-11-02 07:23:23,428  wasOwner=false, isOwner=true, hasOwner=true] event received for device ConnectionInfo &lt;span class=&quot;error&quot;&gt;&amp;#91;Remote-address=10.106.138.116, Remote-port=40335, Local-address10.106.138.107, Local-port=6640, type=PASSIVE&amp;#93;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;2015-11-02 08:16:48,965 wasOwner=true, isOwner=false, hasOwner=true] event received for device ConnectionInfo &lt;span class=&quot;error&quot;&gt;&amp;#91;Remote-address=10.106.138.116, Remote-port=40335, Local-address10.106.138.107, Local-port=6640, type=PASSIVE&amp;#93;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt;what all actions did you do in this one hour? do you suspect any connection flap?&lt;/p&gt;

&lt;p&gt;2015-11-02 08:17:42,892 wasOwner=false, isOwner=true, hasOwner=true] event received for device ConnectionInfo &lt;span class=&quot;error&quot;&gt;&amp;#91;Remote-address=10.106.138.116, Remote-port=43804, Local-address10.106.138.107, Local-port=6640, type=PASSIVE&amp;#93;&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;If you look at the port remote port in above log it&apos;s 43804, but it&apos;s 40335 in first two logs, so looks like device got disconnected from the controller and reconnected and 138.107 controller become master again. So second switch is expected, but i am interested in the first ownership change, can you please provide what all actions happen during that 1 hour?&lt;/p&gt;</comment>
                            <comment id="41017" author="hariprasidh" created="Tue, 3 Nov 2015 10:27:15 +0000"  >&lt;p&gt;Attachment karaf_logs(03-11-15).zip has been added with description: karaf logs(03-11-15)&lt;/p&gt;</comment>
                            <comment id="41009" author="hariprasidh" created="Tue, 3 Nov 2015 10:27:37 +0000"  >&lt;p&gt;Anil, Thanks for your comments on this.&lt;/p&gt;

&lt;p&gt;In the span of 1 hour I created two bridge informations and deleted again one bridge among them, these actions only I performed in between the specified time. &lt;/p&gt;

&lt;p&gt;And, today also I&apos;ve tested the same and got same behaviour while testing I observed there is no connection flap. To clear understanding I&apos;ll attach today&apos;s log.&lt;/p&gt;

&lt;p&gt;In today testing I&apos;ve created 6 bridge informations and deleted 4 bridges, what my observation here is initially 107 act as a owner after few minutes it lost the ownership and 111 will take the ownership in between I performed some switch operations but these operations not effected immediately because there is no owner, after owner elected then only the operations are effected to all instances.&lt;/p&gt;

&lt;p&gt;mean while if am trying to see the operational data for the owner node it is showing below exception. Once owner is elected then can see the operational data for that node.&lt;/p&gt;

&lt;p&gt;applicationoperation-failedProblem to get data from transaction.ReadFailedException&lt;/p&gt;
{message=Error reading data for path /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology, errorList=[RpcError [message=Error reading data for path /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology, severity=ERROR, errorType=APPLICATION, tag=operation-failed, applicationTag=null, info=null, cause=org.opendaylight.controller.md.sal.common.api.data.DataStoreUnavailableException: Shard member-1-shard-topology-operational currently has no leader. Try again later.]]}
&lt;p&gt; at org.opendaylight.controller.cluster.datastore.NoOpTransactionContext.readData(NoOpTransactionContext.java:80) at org.opendaylight.controller.cluster.datastore.TransactionProxy$2.invoke(TransactionProxy.java:106) at org.opendaylight.controller.cluster.datastore.TransactionContextWrapper.executePriorTransactionOperations(TransactionContextWrapper.java:132) at org.opendaylight.controller.cluster.datastore.AbstractTransactionContextFactory.onFindPrimaryShardFailure(AbstractTransactionContextFactory.java:87) at org.opendaylight.controller.cluster.datastore.AbstractTransactionContextFactory.access$100(AbstractTransactionContextFactory.java:35) at org.opendaylight.controller.cluster.datastore.AbstractTransactionContextFactory$1.onComplete(AbstractTransactionContextFactory.java:110) at org.opendaylight.controller.cluster.datastore.AbstractTransactionContextFactory$1.onComplete(AbstractTransactionContextFactory.java:104) at akka.dispatch.OnComplete.internal(Future.scala:247) at akka.dispatch.OnComplete.internal(Future.scala:245) at akka.dispatch.japi$CallbackBridge.apply(Future.scala:175) at akka.dispatch.japi$CallbackBridge.apply(Future.scala:172) at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55) at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:90) at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:88) at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:88) at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:88) at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:401) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) Caused by: org.opendaylight.controller.md.sal.common.api.data.DataStoreUnavailableException: Shard member-1-shard-topology-operational currently has no leader. Try again later. at org.opendaylight.controller.cluster.datastore.NoOpTransactionContext.readData(NoOpTransactionContext.java:76) ... 24 more Caused by: org.opendaylight.controller.cluster.datastore.exceptions.NoShardLeaderException: Shard member-1-shard-topology-operational currently has no leader. Try again later. at org.opendaylight.controller.cluster.datastore.ShardManager.createNoShardLeaderException(ShardManager.java:463) at org.opendaylight.controller.cluster.datastore.ShardManager.onShardNotInitializedTimeout(ShardManager.java:293) at org.opendaylight.controller.cluster.datastore.ShardManager.handleCommand(ShardManager.java:194) at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:36) at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430) at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97) at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534) at akka.persistence.Recovery$State$class.process(Recovery.scala:30) at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103) at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114) at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265) at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428) at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82) at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78) at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369) at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254) at akka.dispatch.Mailbox.run(Mailbox.scala:221) at akka.dispatch.Mailbox.exec(Mailbox.scala:231) ... 5 more&lt;/p&gt;</comment>
                            <comment id="41010" author="tpantelis" created="Tue, 3 Nov 2015 15:18:46 +0000"  >&lt;p&gt;There&apos;s a lot of these exceptions: &lt;/p&gt;

&lt;p&gt;ModifiedNodeDoesNotExistException: Node /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[&lt;/p&gt;
{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:125920978130761}
&lt;p&gt;] does not exist. Cannot apply modification to its children.&lt;/p&gt;

&lt;p&gt;Looks like something is trying to write to nodes that don&apos;t exist.&lt;/p&gt;

&lt;p&gt;I suspect these are causing delays and timeouts resulting in leadership changes.&lt;/p&gt;

&lt;p&gt;I would suggest to try to find where the ModifiedNodeDoesNotExistExceptions are originating from. Could it be the StatisticsManager? Does that still poll every 3 sec and write to the data store?&lt;/p&gt;</comment>
                            <comment id="41011" author="vishnoianil@gmail.com" created="Wed, 4 Nov 2015 00:38:07 +0000"  >&lt;p&gt;Tom, by leadership changes, you mean shard leadership changes or Device leadership changes ? I believe shard leadership change should not effect the functioning of EOS, right?&lt;/p&gt;</comment>
                            <comment id="41012" author="tpantelis" created="Wed, 4 Nov 2015 01:59:05 +0000"  >&lt;p&gt;The EOS is backed by a shard so I mean EOS shard leadership changes. It seems that node connectivity was flapping as evidenced by these messages:&lt;/p&gt;

&lt;p&gt;2015-11-03 06:43:29,050 | WARN  | lt-dispatcher-19 | ClusterCoreDaemon                | 150 - com.typesafe.akka.slf4j - 2.3.10 | Cluster Node &lt;span class=&quot;error&quot;&gt;&amp;#91;akka.tcp://opendaylight-cluster-data@10.106.138.111:2550&amp;#93;&lt;/span&gt; - Marking node(s) as UNREACHABLE &lt;span class=&quot;error&quot;&gt;&amp;#91;Member(address = akka.tcp://opendaylight-cluster-data@10.106.138.107:2550, status = Up), Member(address = akka.tcp://opendaylight-cluster-data@10.106.138.110:2550, status = Up)&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;2015-11-03 06:43:33,294 | INFO  | lt-dispatcher-16 | kka://opendaylight-cluster-data) | 150 - com.typesafe.akka.slf4j - 2.3.10 | Cluster Node &lt;span class=&quot;error&quot;&gt;&amp;#91;akka.tcp://opendaylight-cluster-data@10.106.138.111:2550&amp;#93;&lt;/span&gt; - Marking node(s) as REACHABLE &lt;span class=&quot;error&quot;&gt;&amp;#91;Member(address = akka.tcp://opendaylight-cluster-data@10.106.138.107:2550, status = Up)&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;2015-11-03 07:07:52,287 | WARN  | lt-dispatcher-21 | ClusterCoreDaemon                | 150 - com.typesafe.akka.slf4j - 2.3.10 | Cluster Node &lt;span class=&quot;error&quot;&gt;&amp;#91;akka.tcp://opendaylight-cluster-data@10.106.138.111:2550&amp;#93;&lt;/span&gt; - Marking node(s) as UNREACHABLE &lt;span class=&quot;error&quot;&gt;&amp;#91;Member(address = akka.tcp://opendaylight-cluster-data@10.106.138.107:2550, status = Up)&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;This means that akka&apos;s connectivity was flapping which causes the EOS shard leader to re-assign ownership. I don&apos;t know what was happening in the environment, it could be flaky network or long GC pauses causing timeouts (was enough memory allocated to the JVM?). So the entity ownership re-assignment flapping was a symptom of other environmental issues.&lt;/p&gt;

&lt;p&gt;There were a lot of ModifiedNodeDoesNotExistException errors as I mentioned which would seem to be orthogonal to the connection flapping but isn&apos;t healthy.&lt;/p&gt;</comment>
                            <comment id="41013" author="vishnoianil@gmail.com" created="Tue, 2 Feb 2016 07:58:39 +0000"  >&lt;p&gt;I believe ModifiedNodeDoesNotExistException are fixed with the latest  stable/beryllium branch.  DataStoreUnavailableException &amp;#8211; this exception is valid exception, because when you fire a request, shard leader was not elected for the topology shard.&lt;/p&gt;

&lt;p&gt;Can you test this again with the latest stable/beryllium and also make sure that VMs running controller instances are given enough memory (8 G) and connection between these VMs is not flappy.&lt;/p&gt;</comment>
                            <comment id="41014" author="vishnoianil@gmail.com" created="Tue, 9 Feb 2016 19:04:22 +0000"  >&lt;p&gt;Hi Hari,&lt;/p&gt;

&lt;p&gt;Most of the related issues are fixed in stable/beryllium, and i didn&apos;t see this issue in my testing. I am closing this bug, if you see this issue in your environment please re-open the bug.&lt;/p&gt;</comment>
                            <comment id="41015" author="hariprasidh" created="Wed, 10 Feb 2016 13:06:51 +0000"  >&lt;p&gt;Anil,&lt;/p&gt;

&lt;p&gt;Thanks for your response,&lt;br/&gt;
We also tested with stable/beryllium patch and got ownership behaviour as expected.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12820" name="karaf_logs(03-11-15).zip" size="411775" author="hari.pr@hcl.com" created="Tue, 3 Nov 2015 10:27:15 +0000"/>
                            <attachment id="12819" name="karaf_logs.zip" size="114097" author="hari.pr@hcl.com" created="Mon, 2 Nov 2015 10:36:51 +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>4569</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=4569]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10312"><![CDATA[High]]></customfieldvalue>

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

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