<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:55:13 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-1311] Clustering : Exception in BGP scale test</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1311</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;BGP scale tests 100k routes failed on following exception:&lt;/p&gt;

&lt;p&gt;2015-05-11 12:57:40,915 | ERROR | ult-dispatcher-2 | Shard                            | 205 - org.opendaylight.controller.sal-akka-raft - 1.2.0.SNAPSHOT | member-1-shard-default-operational: Error handling BatchedModifications for Tx member-1-txn-313834&lt;br/&gt;
java.lang.IllegalStateException: Transaction ReadWriteShardDataTreeTransaction{id=member-1-txn-313834, closed=false, snapshot=MutableDataTree [modification=NodeModification [identifier=(urn:ietf:params:xml:ns:netconf:base:1.0)data, modificationType=TOUCH, childModification={....very long body...}} is open&lt;br/&gt;
        at com.google.common.base.Preconditions.checkState(Preconditions.java:197)&lt;span class=&quot;error&quot;&gt;&amp;#91;94:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardDataTreeTransactionChain.getSnapshot(ShardDataTreeTransactionChain.java:37)&lt;span class=&quot;error&quot;&gt;&amp;#91;212:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardDataTreeTransactionChain.newReadWriteTransaction(ShardDataTreeTransactionChain.java:54)&lt;span class=&quot;error&quot;&gt;&amp;#91;212:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardDataTree.newReadWriteTransaction(ShardDataTree.java:92)&lt;span class=&quot;error&quot;&gt;&amp;#91;212:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleBatchedModifications(ShardCommitCoordinator.java:163)&lt;span class=&quot;error&quot;&gt;&amp;#91;212:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.Shard.handleBatchedModifications(Shard.java:423)&lt;span class=&quot;error&quot;&gt;&amp;#91;212:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:228)&lt;span class=&quot;error&quot;&gt;&amp;#91;212:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)&lt;span class=&quot;error&quot;&gt;&amp;#91;204:org.opendaylight.controller.sal-clustering-commons:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534)&lt;span class=&quot;error&quot;&gt;&amp;#91;197:com.typesafe.akka.actor:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.Recovery$State$class.process(Recovery.scala:30)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)&lt;span class=&quot;error&quot;&gt;&amp;#91;202:com.typesafe.akka.persistence.experimental:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)&lt;span class=&quot;error&quot;&gt;&amp;#91;197:com.typesafe.akka.actor:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.actor.ActorCell.invoke(ActorCell.scala:487)&lt;span class=&quot;error&quot;&gt;&amp;#91;197:com.typesafe.akka.actor:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)&lt;span class=&quot;error&quot;&gt;&amp;#91;197:com.typesafe.akka.actor:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.dispatch.Mailbox.run(Mailbox.scala:221)&lt;span class=&quot;error&quot;&gt;&amp;#91;197:com.typesafe.akka.actor:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.dispatch.Mailbox.exec(Mailbox.scala:231)&lt;span class=&quot;error&quot;&gt;&amp;#91;197:com.typesafe.akka.actor:2.3.10&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)&lt;span class=&quot;error&quot;&gt;&amp;#91;194:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253)&lt;span class=&quot;error&quot;&gt;&amp;#91;194:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346)&lt;span class=&quot;error&quot;&gt;&amp;#91;194:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)&lt;span class=&quot;error&quot;&gt;&amp;#91;194:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)&lt;span class=&quot;error&quot;&gt;&amp;#91;194:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;br/&gt;
2015-05-11 12:57:42,092 | WARN  | lt-dispatcher-16 | Shard                            | 205 - org.opendaylight.controller.sal-akka-raft - 1.2.0.SNAPSHOT | member-1-shard-default-operational: Transaction member-1-txn-313834 was timed out of the cache&lt;br/&gt;
2015-05-11 12:58:14,430 | WARN  | lt-dispatcher-14 | TransactionProxy                 | 212 - org.opendaylight.controller.sal-distributed-datastore - 1.2.0.SNAPSHOT | Failed to acquire operation permit for transaction member-1-txn-313834&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25865">CONTROLLER-1311</key>
            <summary>Clustering : Exception in BGP scale test</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="tpantelis">Tom Pantelis</assignee>
                                    <reporter username="dkutenicsova">Dana Kutenicsova</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 May 2015 08:27:52 +0000</created>
                <updated>Tue, 30 Jun 2015 09:47:08 +0000</updated>
                            <resolved>Tue, 30 Jun 2015 09:47:08 +0000</resolved>
                                    <version>Post-Helium</version>
                                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="50604" author="jbehran@cisco.com" created="Wed, 13 May 2015 08:37:50 +0000"  >&lt;p&gt;Currently masked by &lt;a href=&quot;https://jira.opendaylight.org/browse/BGPCEP-221&quot; title=&quot;&amp;quot;IllegalStateException: MpReachNlri codec not available&amp;quot; when pushing 10k routes or more&quot; class=&quot;issue-link&quot; data-issue-key=&quot;BGPCEP-221&quot;&gt;&lt;del&gt;BGPCEP-221&lt;/del&gt;&lt;/a&gt; but a possible fix/workaround was suggested for that bug. When that workaround will be confirmed to be working, then this bug can be exposed and hunted down.&lt;/p&gt;</comment>
                            <comment id="50605" author="moraja@cisco.com" created="Tue, 2 Jun 2015 15:11:33 +0000"  >&lt;p&gt;Does this exception still happen? I&apos;ve not seen it happen in the bgp scale test.&lt;/p&gt;</comment>
                            <comment id="50606" author="moraja@cisco.com" created="Tue, 9 Jun 2015 14:11:45 +0000"  >&lt;p&gt;Because of changes in CDS code - this particular situation with the BatchedModifications being sent to the Shard can only happen in the remote case - the local case is covered differently.&lt;/p&gt;</comment>
                            <comment id="50607" author="tpantelis" created="Fri, 12 Jun 2015 21:17:34 +0000"  >&lt;p&gt;This exception means that it attempted to create a new read/write tx on the chain before the previous one was readied. However notice that the tx ID (member-1-txn-313834) associated with the BatchedModifications message is the same as the tx ID reported as still being open. Ruling out a tx ID being erroneously reused, that means there was a previous BatchedModifications message from the front-end for the same tx ID that created a read/write tx on the chain and put an entry in the cohortCache. A subsequent BatcheModifications message should find an entry already in the cohortCache and not create a new read/write tx. But in this case it found no entry in the cache and tried to create a new chained tx which indicates there was sufficient time in between the BatchedModifications messages for the entry to be timed out of the cache. Unfortunately we don&apos;t have the whole log to confirm this but it seems like that&apos;s what happened.&lt;/p&gt;

&lt;p&gt;The code has since been refactored a bit so entries will no longer age out of the cache in between BatchedModifications message - they can only be aged out once they&apos;re enqueued on ready. So it doesn&apos;t appear this issue can occur now.&lt;/p&gt;

&lt;p&gt;However, looking at the code more, I think there&apos;s some places with incomplete cleanup in some error code paths.&lt;/p&gt;</comment>
                            <comment id="50608" author="tpantelis" created="Tue, 16 Jun 2015 20:14:39 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/22656/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/22656/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="50609" author="jbehran@cisco.com" created="Tue, 30 Jun 2015 09:47:08 +0000"  >&lt;p&gt;Not observed during the last 2 weeks of testing.&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>3195</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=3195]]></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="10327"><![CDATA[Lithium-1]]></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|i02psf:</customfieldvalue>

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