<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:14:44 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>[NETCONF-327] Incorrect handling of device transactions in clustered setting</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-327</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;In clustered setting mount point&apos;s transactions are delegated to one node in cluster and that node actually configures the device.&lt;/p&gt;

&lt;p&gt;The implementation however depends only on one write transaction at a time. So the delegated calls can interleave together, for example one node can submit transaction of the other node, etc.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21340">NETCONF-327</key>
            <summary>Incorrect handling of device transactions in clustered setting</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="jmorvay@cisco.com">Jakub Morvay</assignee>
                                    <reporter username="jmorvay@cisco.com">Jakub Morvay</reporter>
                        <labels>
                    </labels>
                <created>Mon, 5 Dec 2016 08:33:34 +0000</created>
                <updated>Fri, 15 Mar 2019 22:22:34 +0000</updated>
                            <resolved>Fri, 17 Feb 2017 15:24:04 +0000</resolved>
                                                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="39731" author="vladimir.lavor@pantheon.sk" created="Mon, 5 Dec 2016 14:09:49 +0000"  >&lt;p&gt;The log error looks like re-usage of closed transaction. &lt;/p&gt;

&lt;p&gt;Example:&lt;br/&gt;
2016-11-30 16:26:42,824 | ERROR | on-dispatcher-44 | DataTreeChangeListenerActor      | 205 - org.opendaylight.controller.sal-clustering-commons - 1.5.0.SNAPSHOT | Error notifying listener org.opendaylight.controller.md.sal.binding.impl.BindingClusteredDOMDataTreeChangeListenerAdapter@1bc842c8&lt;br/&gt;
java.lang.IllegalStateException: RemoteDevice&lt;/p&gt;
{overcloud-controller-0.opnfvapex.com}
&lt;p&gt;: Transaction org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateTx@395c290c already finished&lt;/p&gt;

&lt;p&gt;Cannot reliably reproduce, appears randomly when transaction.put/read/delete/submit etc. us used.&lt;/p&gt;

&lt;p&gt;Possible workaround is to close existing transaction and create a new one when this error is caught - this helps in most cases. Also ensure that only one netconf transaction is opened at a time.&lt;/p&gt;

&lt;p&gt;Tested with netconf-clustered-topology&lt;/p&gt;</comment>
                            <comment id="39732" author="jmorvay@cisco.com" created="Mon, 5 Dec 2016 14:15:44 +0000"  >&lt;p&gt;I think, the one reliable workaround is to have just one transaction open at once.&lt;br/&gt;
You shouldn&apos;t see any problem with reused transactions than.&lt;/p&gt;</comment>
                            <comment id="39733" author="rovarga" created="Tue, 6 Dec 2016 09:41:47 +0000"  >&lt;p&gt;Please report full exception stack.&lt;/p&gt;</comment>
                            <comment id="39734" author="rovarga" created="Tue, 6 Dec 2016 09:43:04 +0000"  >&lt;p&gt;Without the stack trace, it is quite hard to track down what exactly is happening and what triggered the ISE.&lt;/p&gt;</comment>
                            <comment id="39735" author="vladimir.lavor@pantheon.sk" created="Tue, 6 Dec 2016 10:13:00 +0000"  >&lt;p&gt;Full exception stack:&lt;/p&gt;

&lt;p&gt;2016-11-30 16:35:16,896 | ERROR | on-dispatcher-78 | DataTreeChangeListenerActor      | 205 - org.opendaylight.controller.sal-clustering-commons - 1.5.0.SNAPSHOT | Error notifying listener org.opendaylight.controller.md.sal.binding.impl.BindingClusteredDOMDataTreeChangeListenerAdapter@8aec786&lt;br/&gt;
java.lang.IllegalStateException: RemoteDevice&lt;/p&gt;
{overcloud-controller-0.opnfvapex.com}
&lt;p&gt;: Transaction org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateTx@4dac5057 already finished&lt;br/&gt;
	at com.google.common.base.Preconditions.checkState(Preconditions.java:197)&lt;span class=&quot;error&quot;&gt;&amp;#91;65:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.sal.connect.netconf.sal.tx.AbstractWriteTx.checkNotFinished(AbstractWriteTx.java:66)&lt;span class=&quot;error&quot;&gt;&amp;#91;310:org.opendaylight.netconf.sal-netconf-connector:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.sal.connect.netconf.sal.tx.AbstractWriteTx.commit(AbstractWriteTx.java:140)&lt;span class=&quot;error&quot;&gt;&amp;#91;310:org.opendaylight.netconf.sal-netconf-connector:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateTx.submit(WriteCandidateTx.java:97)&lt;span class=&quot;error&quot;&gt;&amp;#91;310:org.opendaylight.netconf.sal-netconf-connector:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.topology.singleton.impl.tx.NetconfMasterDOMTransaction.submit(NetconfMasterDOMTransaction.java:154)&lt;span class=&quot;error&quot;&gt;&amp;#91;313:org.opendaylight.netconf.topology-singleton:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.topology.singleton.impl.tx.NetconfWriteOnlyTransaction.submit(NetconfWriteOnlyTransaction.java:84)&lt;span class=&quot;error&quot;&gt;&amp;#91;313:org.opendaylight.netconf.topology-singleton:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.sal.connect.netconf.sal.tx.ReadWriteTx.submit(ReadWriteTx.java:59)&lt;span class=&quot;error&quot;&gt;&amp;#91;310:org.opendaylight.netconf.sal-netconf-connector:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.doSubmit(AbstractWriteTransaction.java:134)&lt;span class=&quot;error&quot;&gt;&amp;#91;173:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingDOMWriteTransactionAdapter.submit(BindingDOMWriteTransactionAdapter.java:83)&lt;span class=&quot;error&quot;&gt;&amp;#91;173:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.vbd.impl.VppModifier.createVirtualInterfaceOnVpp(VppModifier.java:432)&lt;span class=&quot;error&quot;&gt;&amp;#91;317:org.opendaylight.honeycomb.vbd.impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.vbd.impl.VbdBridgeDomain.addVxlanTunnel(VbdBridgeDomain.java:700)&lt;span class=&quot;error&quot;&gt;&amp;#91;317:org.opendaylight.honeycomb.vbd.impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.vbd.impl.VbdBridgeDomain.modifyNode(VbdBridgeDomain.java:511)&lt;span class=&quot;error&quot;&gt;&amp;#91;317:org.opendaylight.honeycomb.vbd.impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.vbd.impl.VbdBridgeDomain.handleModifiedChildren(VbdBridgeDomain.java:459)&lt;span class=&quot;error&quot;&gt;&amp;#91;317:org.opendaylight.honeycomb.vbd.impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.vbd.impl.VbdBridgeDomain.onDataTreeChanged(VbdBridgeDomain.java:428)&lt;span class=&quot;error&quot;&gt;&amp;#91;317:org.opendaylight.honeycomb.vbd.impl:1.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41)&lt;span class=&quot;error&quot;&gt;&amp;#91;173:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:54)&lt;span class=&quot;error&quot;&gt;&amp;#91;211:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:35)&lt;span class=&quot;error&quot;&gt;&amp;#91;211:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:28)&lt;span class=&quot;error&quot;&gt;&amp;#91;205:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:165)&lt;span class=&quot;error&quot;&gt;&amp;#91;186:com.typesafe.akka.actor:2.4.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.Actor$class.aroundReceive(Actor.scala:484)&lt;span class=&quot;error&quot;&gt;&amp;#91;186:com.typesafe.akka.actor:2.4.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:95)&lt;span class=&quot;error&quot;&gt;&amp;#91;186:com.typesafe.akka.actor:2.4.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)&lt;span class=&quot;error&quot;&gt;&amp;#91;186:com.typesafe.akka.actor:2.4.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.ActorCell.invoke(ActorCell.scala:495)&lt;span class=&quot;error&quot;&gt;&amp;#91;186:com.typesafe.akka.actor:2.4.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)&lt;span class=&quot;error&quot;&gt;&amp;#91;186:com.typesafe.akka.actor:2.4.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.run(Mailbox.scala:224)&lt;span class=&quot;error&quot;&gt;&amp;#91;186:com.typesafe.akka.actor:2.4.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.exec(Mailbox.scala:234)&lt;span class=&quot;error&quot;&gt;&amp;#91;186:com.typesafe.akka.actor:2.4.11&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;181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&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;181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&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;181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&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;181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="39736" author="jmorvay@cisco.com" created="Tue, 14 Feb 2017 16:59:06 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-327&quot; title=&quot;Incorrect handling of device transactions in clustered setting&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-327&quot;&gt;&lt;del&gt;NETCONF-327&lt;/del&gt;&lt;/a&gt; - Incorrect handling of device transactions in clustered setting&lt;/p&gt;</comment>
                            <comment id="39737" author="jmorvay@cisco.com" created="Tue, 14 Feb 2017 17:00:28 +0000"  >&lt;p&gt;(In reply to Jakub Morvay from comment #6)&lt;br/&gt;
&amp;gt; &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-327&quot; title=&quot;Incorrect handling of device transactions in clustered setting&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-327&quot;&gt;&lt;del&gt;NETCONF-327&lt;/del&gt;&lt;/a&gt; - Incorrect handling of device transactions in clustered setting&lt;/p&gt;

&lt;p&gt;Sorry for invalid comment..&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/51875&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/51875&lt;/a&gt;&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>7295</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=7295]]></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="10348"><![CDATA[Carbon-M5]]></customfieldvalue>

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

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