<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:53:48 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-760] IllegalStateException thrown by FlowCapableTopologyExporter</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-760</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;Note that this stacktrace is from a distribution which uses clustering. However this appears to be a bug in the FlowCapableTopologyExporter which tries to access a transaction in a callback which gets executed asynchronously and could very likely get executed after the transaction is submitted on the OperationProcessor thread.&lt;/p&gt;



&lt;p&gt;2014-09-03 12:20:55,118 | ERROR | lt-dispatcher-18 | ExecutionList                    | 52 - com.google.guava - 14.0.1 | RuntimeException while executing runnable com.google.common.util.concurrent.Futures$4@6dfa3d3c with executor com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService@47ca668c&lt;br/&gt;
java.lang.IllegalStateException: Transaction was already submited.&lt;br/&gt;
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.broker.impl.DOMForwardedWriteTransaction.checkNotCommited(DOMForwardedWriteTransaction.java:157)&lt;span class=&quot;error&quot;&gt;&amp;#91;128:org.opendaylight.controller.sal-broker-impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.broker.impl.DOMForwardedWriteTransaction.checkNotReady(DOMForwardedWriteTransaction.java:148)&lt;span class=&quot;error&quot;&gt;&amp;#91;128:org.opendaylight.controller.sal-broker-impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.broker.impl.DOMForwardedWriteTransaction.delete(DOMForwardedWriteTransaction.java:96)&lt;span class=&quot;error&quot;&gt;&amp;#91;128:org.opendaylight.controller.sal-broker-impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.broker.impl.DOMForwardedWriteTransaction.delete(DOMForwardedWriteTransaction.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;128:org.opendaylight.controller.sal-broker-impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.doDelete(AbstractWriteTransaction.java:144)&lt;span class=&quot;error&quot;&gt;&amp;#91;131:org.opendaylight.controller.sal-binding-broker-impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingDataWriteTransactionImpl.delete(BindingDataWriteTransactionImpl.java:73)&lt;span class=&quot;error&quot;&gt;&amp;#91;131:org.opendaylight.controller.sal-binding-broker-impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.md.controller.topology.manager.FlowCapableTopologyExporter$10$1.onSuccess(FlowCapableTopologyExporter.java:232)&lt;span class=&quot;error&quot;&gt;&amp;#91;203:org.opendaylight.controller.md.topology-manager:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.md.controller.topology.manager.FlowCapableTopologyExporter$10$1.onSuccess(FlowCapableTopologyExporter.java:224)&lt;span class=&quot;error&quot;&gt;&amp;#91;203:org.opendaylight.controller.md.topology-manager:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.Futures$4.run(Futures.java:1149)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:150)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:135)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture$1.run(Futures.java:873)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.Futures$ImmediateFuture.addListener(Futures.java:99)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:866)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:150)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:135)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;52:com.google.guava:14.0.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.TransactionProxy$TransactionContextImpl$3.onComplete(TransactionProxy.java:624)&lt;span class=&quot;error&quot;&gt;&amp;#91;237:org.opendaylight.controller.sal-distributed-datastore:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.OnComplete.internal(Future.scala:247)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.OnComplete.internal(Future.scala:244)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.japi$CallbackBridge.apply(Future.scala:174)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.japi$CallbackBridge.apply(Future.scala:171)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)&lt;span class=&quot;error&quot;&gt;&amp;#91;219:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:67)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:82)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)&lt;span class=&quot;error&quot;&gt;&amp;#91;219:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:58)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)&lt;span class=&quot;error&quot;&gt;&amp;#91;222:com.typesafe.akka.actor:2.3.4&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;219: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:1339)&lt;span class=&quot;error&quot;&gt;&amp;#91;219: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;219: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;219:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Mac OS&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="25314">CONTROLLER-760</key>
            <summary>IllegalStateException thrown by FlowCapableTopologyExporter</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="moraja@cisco.com">Moiz Raja</reporter>
                        <labels>
                    </labels>
                <created>Wed, 3 Sep 2014 19:32:05 +0000</created>
                <updated>Tue, 25 Jul 2023 08:24:08 +0000</updated>
                            <resolved>Tue, 16 Sep 2014 10:28:25 +0000</resolved>
                                                                    <component>mdsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="49032" author="tpantelis" created="Thu, 11 Sep 2014 14:00:26 +0000"  >&lt;p&gt;We can either block on the reads waiting for completion or keep it async and enqueue the deletes on the OperationProcessor. I think the latter should be OK.&lt;/p&gt;</comment>
                            <comment id="49033" author="tpantelis" created="Tue, 16 Sep 2014 10:28:25 +0000"  >&lt;p&gt;Submitted &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/11058/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/11058/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="25260">CONTROLLER-706</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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>1688</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=1688]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10369"><![CDATA[Helium-RC0]]></customfieldvalue>

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

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