<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:14:14 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-127] Netconf device on clustered setup has &quot;Write Once Read Many&quot; configuration</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-127</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;Tested and found on latest Beryllium.&lt;/p&gt;

&lt;p&gt;After configuring a Netconf device on a clustered setup (see &lt;a href=&quot;https://jenkins.opendaylight.org/sandbox/job/netconf-csit-3node-clustering-only-beryllium/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/sandbox/job/netconf-csit-3node-clustering-only-beryllium/&lt;/a&gt; for a sandbox example) it is possible to write the configuration data exactly once. When an attempt to modify the data is subsequently made, weird things start to happen:&lt;/p&gt;

&lt;p&gt;{&quot;errors&quot;:{&quot;error&quot;:[{&quot;error-type&quot;:&quot;application&quot;,&quot;error-tag&quot;:&quot;operation-failed&quot;,&quot;error-message&quot;:&quot;Transaction commit failed&quot;,&quot;error-info&quot;:&quot;java.util.concurrent.ExecutionException: java.lang.NullPointerException\n\tat com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)\n\tat com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)\n\tat com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)\n\tat com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)\n\tat com.google.common.util.concurrent.AbstractCheckedFuture.checkedGet(AbstractCheckedFuture.java:78)\n\tat org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.updateConfigurationData(RestconfImpl.java:723)\n\tat org.opendaylight.netconf.sal.restconf.impl.StatisticsRestconfServiceWrapper.updateConfigurationData(StatisticsRestconfServiceWrapper.java:133)\n\tat org.opendaylight.netconf.sal.rest.impl.RestconfCompositeWrapper.updateConfigurationData(RestconfCompositeWrapper.java:82)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:606)\n\tat com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)\n\tat com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseO...&lt;/p&gt;

&lt;p&gt;(this appeared on the console)&lt;/p&gt;

&lt;p&gt;&amp;#8212; snip &amp;#8212;&lt;/p&gt;

&lt;p&gt;2016-01-14 15:14:13,108 | ERROR | lt-dispatcher-15 | OneForOneStrategy                | 149 - com.typesafe.akka.slf4j - 2.3.14 | RemoteDevice&lt;/p&gt;
{netconf-test-device}: Transaction org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateTx@526966bc already finished&lt;br/&gt;
java.lang.IllegalStateException: RemoteDevice{netconf-test-device}
&lt;p&gt;: Transaction org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateTx@526966bc already finished&lt;br/&gt;
	at com.google.common.base.Preconditions.checkState(Preconditions.java:197)&lt;span class=&quot;error&quot;&gt;&amp;#91;39: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:58)&lt;span class=&quot;error&quot;&gt;&amp;#91;228:org.opendaylight.netconf.sal-netconf-connector:1.3.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.sal.connect.netconf.sal.tx.AbstractWriteTx.checkEditable(AbstractWriteTx.java:172)&lt;span class=&quot;error&quot;&gt;&amp;#91;228:org.opendaylight.netconf.sal-netconf-connector:1.3.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.sal.connect.netconf.sal.tx.AbstractWriteTx.put(AbstractWriteTx.java:103)&lt;span class=&quot;error&quot;&gt;&amp;#91;228:org.opendaylight.netconf.sal-netconf-connector:1.3.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netconf.topology.pipeline.NetconfDeviceMasterDataBroker.put(NetconfDeviceMasterDataBroker.java:149)&lt;span class=&quot;error&quot;&gt;&amp;#91;230:org.opendaylight.netconf.topology:1.0.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_85&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_85&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_85&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.reflect.Method.invoke(Method.java:606)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_85&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$MethodCall.apply(TypedActor.scala:147)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$TypedActor$$anonfun$receive$1$$anonfun$applyOrElse$2.apply(TypedActor.scala:307)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$TypedActor.withContext(TypedActor.scala:299)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$TypedActor$$anonfun$receive$1.applyOrElse(TypedActor.scala:306)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.Actor$class.aroundReceive(Actor.scala:467)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$TypedActor.aroundReceive(TypedActor.scala:246)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&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;148:com.typesafe.akka.actor:2.3.14&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;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.run(Mailbox.scala:220)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:org.scala-lang.scala-library:2.10.1.v20130302-092018-VFINAL-33e32179fd&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:org.scala-lang.scala-library:2.10.1.v20130302-092018-VFINAL-33e32179fd&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:org.scala-lang.scala-library:2.10.1.v20130302-092018-VFINAL-33e32179fd&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:org.scala-lang.scala-library:2.10.1.v20130302-092018-VFINAL-33e32179fd&amp;#93;&lt;/span&gt;&lt;br/&gt;
2016-01-14 15:14:13,117 | ERROR | lt-dispatcher-15 | OneForOneStrategy                | 149 - com.typesafe.akka.slf4j - 2.3.14 | &lt;br/&gt;
java.lang.NullPointerException&lt;br/&gt;
	at org.opendaylight.netconf.topology.pipeline.NetconfDeviceMasterDataBroker.submit(NetconfDeviceMasterDataBroker.java:175)&lt;span class=&quot;error&quot;&gt;&amp;#91;230:org.opendaylight.netconf.topology:1.0.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_85&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_85&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_85&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.reflect.Method.invoke(Method.java:606)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_85&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$MethodCall.apply(TypedActor.scala:145)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$TypedActor$$anonfun$receive$1$$anonfun$applyOrElse$2.apply(TypedActor.scala:311)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$TypedActor.withContext(TypedActor.scala:299)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$TypedActor$$anonfun$receive$1.applyOrElse(TypedActor.scala:306)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.Actor$class.aroundReceive(Actor.scala:467)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.TypedActor$TypedActor.aroundReceive(TypedActor.scala:246)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&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;148:com.typesafe.akka.actor:2.3.14&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;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.run(Mailbox.scala:220)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:com.typesafe.akka.actor:2.3.14&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:org.scala-lang.scala-library:2.10.1.v20130302-092018-VFINAL-33e32179fd&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:org.scala-lang.scala-library:2.10.1.v20130302-092018-VFINAL-33e32179fd&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:org.scala-lang.scala-library:2.10.1.v20130302-092018-VFINAL-33e32179fd&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:org.scala-lang.scala-library:2.10.1.v20130302-092018-VFINAL-33e32179fd&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;(this was found in the logs of the node that was used to configure the device (and which was NOT used to modify the data in the device))&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21140">NETCONF-127</key>
            <summary>Netconf device on clustered setup has &quot;Write Once Read Many&quot; configuration</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="tcere">Tomas Cere</assignee>
                                    <reporter username="jbehran@cisco.com">Jozef Behran</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Jan 2016 15:23:52 +0000</created>
                <updated>Fri, 15 Mar 2019 22:22:18 +0000</updated>
                            <resolved>Mon, 6 Jun 2016 11:55:35 +0000</resolved>
                                                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="39134" author="jbehran@cisco.com" created="Thu, 14 Jan 2016 16:04:49 +0000"  >&lt;p&gt;More test results:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;It appears to be possible to delete the data once created, just not modify it.&lt;/li&gt;
	&lt;li&gt;Sometimes (very rarely) the data modification request succeeds.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="39135" author="tcere" created="Mon, 18 Jan 2016 13:52:16 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/32935/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/32935/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="39136" author="vrpolak" created="Mon, 6 Jun 2016 10:49:15 +0000"  >&lt;p&gt;This was fixed on Beryllium, but the fix was still not cherry-picked to Boron:&lt;br/&gt;
&lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/netconf/job/netconf-csit-3node-clustering-only-boron/376/robot/report/log.html#s1-s4-t15-k3-k1-k3-k7-k1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/view/netconf/job/netconf-csit-3node-clustering-only-boron/376/robot/report/log.html#s1-s4-t15-k3-k1-k3-k7-k1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Marking as Confirmed.&lt;/p&gt;</comment>
                            <comment id="39137" author="tcere" created="Mon, 6 Jun 2016 11:55:35 +0000"  >&lt;p&gt;cherry-picked: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/39878/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/39878/&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>4968</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=4968]]></customfieldvalue>

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

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