<!-- 
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-1313] Clustering : Commit to clustered data store fails with &quot;Unmodified candidate should never be in the payload&quot;</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1313</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;Services Function Chaining tried to commit the modified node below to the datastore but there is a failure. Modified node is clearly different from original node but datastore complains with the message below. &lt;/p&gt;

&lt;p&gt;This functionality is extremely important for SFC OVS integration.&lt;/p&gt;

&lt;p&gt;ERROR MESSAGE:&lt;br/&gt;
==============&lt;/p&gt;

&lt;p&gt;2015-05-13 01:32:23,511 | ERROR | ult-dispatcher-3 | Shard                            | 208 - org.opendaylight.controller.sal-akka-raft - 1.2.0.SNAPSHOT | member-1-shard-default-config An exception occurred while preCommitting transaction member-1-txn-24&lt;br/&gt;
java.lang.IllegalArgumentException: Unmodified candidate should never be in the payload&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeNode(DataTreeCandidatePayload.java:81)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeChildren(DataTreeCandidatePayload.java:60)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeNode(DataTreeCandidatePayload.java:74)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeChildren(DataTreeCandidatePayload.java:60)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeNode(DataTreeCandidatePayload.java:74)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeChildren(DataTreeCandidatePayload.java:60)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeNode(DataTreeCandidatePayload.java:74)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeChildren(DataTreeCandidatePayload.java:60)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeNode(DataTreeCandidatePayload.java:74)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeChildren(DataTreeCandidatePayload.java:60)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeNode(DataTreeCandidatePayload.java:74)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.writeChildren(DataTreeCandidatePayload.java:60)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataTreeCandidatePayload.create(DataTreeCandidatePayload.java:99)&lt;span class=&quot;error&quot;&gt;&amp;#91;215: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.continueCommit(Shard.java:322)&lt;span class=&quot;error&quot;&gt;&amp;#91;215: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.doCommit(ShardCommitCoordinator.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;215: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.doCanCommit(ShardCommitCoordinator.java:296)&lt;span class=&quot;error&quot;&gt;&amp;#91;215: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.handleCanCommit(ShardCommitCoordinator.java:254)&lt;span class=&quot;error&quot;&gt;&amp;#91;215: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:187)&lt;span class=&quot;error&quot;&gt;&amp;#91;215: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;215: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;215: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;205: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;207: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;200: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;205: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;205: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;205: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;205: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;205: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;205: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;205: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;205: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;205: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;200: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;200: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;200: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;200: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;200: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;197: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;197: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;197: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;197:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b&amp;#93;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt;ORIGINAL NODE:&lt;/p&gt;


&lt;p&gt;2015-05-13 01:32:23,496 | ERROR | lt-dispatcher-31 | SfcOvsNodeDataListener           | 342 - org.opendaylight.sfc.ovs - 0.1.0.SNAPSHOT |&lt;br/&gt;
Original Node: Node{getNodeId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=ovsdb://192.168.1.27:37275/bridge/br-tun&amp;#93;&lt;/span&gt;, getTerminationPoint=[TerminationPoint{getTpId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=br-tun&amp;#93;&lt;/span&gt;, augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation=OvsdbTerminationPointAugmentation&lt;/p&gt;
{getInterfaceType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeInternal, getInterfaceUuid=Uuid [_value=2d6002ea-cb17-4f32-a4cf-ccee06adb6a7], getName=br-tun, getOfport=65534, getPortUuid=Uuid [_value=4e787c70-c862-4366-b922-e652294134f1]}}}], augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation=OvsdbBridgeAugmentation{getBridgeName=OvsdbBridgeName &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=br-tun&amp;#93;&lt;/span&gt;, getBridgeUuid=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&amp;#93;&lt;/span&gt;, getDatapathId=DatapathId &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=00:00:fa:cd:e8:45:9a:44&amp;#93;&lt;/span&gt;, getDatapathType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeSystem, getManagedBy=OvsdbNodeRef &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node, path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey [_topologyId=Uri [_value=ovsdb:1]]], org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node[key=NodeKey [_nodeId=Uri [_value=ovsdb://192.168.1.27:37275]]]]}&amp;#93;&lt;/span&gt;}}}&lt;br/&gt;
2015-05-13 01:32:23,499 | ERROR | lt-dispatcher-31 | SfcOvsNodeDataListener           | 342 - org.opendaylight.sfc.ovs - 0.1.0.SNAPSHOT |&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
MODIFIED NODE:&lt;br/&gt;
=============&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Modified OVS Node : Node{getNodeId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=ovsdb://192.168.1.27:37275/bridge/br-tun&amp;#93;&lt;/span&gt;, getTerminationPoint=[TerminationPoint{getTpId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=vx1&amp;#93;&lt;/span&gt;, augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation=OvsdbTerminationPointAugmentation{getInterfaceType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeVxlan, getInterfaceUuid=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=9d3d208b-5e60-4fc9-9fc6-5a30f6e4d02f&amp;#93;&lt;/span&gt;, getName=vx1, getOptions=&lt;span class=&quot;error&quot;&gt;&amp;#91;Options{getOption=remote_ip, getValue=10.0.0.1, augmentations={}}&amp;#93;&lt;/span&gt;, getPortUuid=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=a1a0a2b2-7043-4b49-a5ad-c3bd44793fcc&amp;#93;&lt;/span&gt;}}}, TerminationPoint{getTpId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=br-tun&amp;#93;&lt;/span&gt;, augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation=OvsdbTerminationPointAugmentation{getInterfaceType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeInternal, getInterfaceUuid=Uuid [_value=2d6002ea-cb17-4f32-a4cf-ccee06adb6a7], getName=br-tun, getOfport=65534, getPortUuid=Uuid [_value=4e787c70-c862-4366-b922-e652294134f1]}
&lt;p&gt;}}], augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation=OvsdbBridgeAugmentation{getBridgeName=OvsdbBridgeName &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=br-tun&amp;#93;&lt;/span&gt;, getBridgeUuid=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&amp;#93;&lt;/span&gt;, getDatapathId=DatapathId &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=00:00:fa:cd:e8:45:9a:44&amp;#93;&lt;/span&gt;, getDatapathType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeSystem, getManagedBy=OvsdbNodeRef [_value=KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node, path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey [_topologyId=Uri [_value=ovsdb:1]]], org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node[key=NodeKey [_nodeId=Uri [_value=ovsdb://192.168.1.27:37275]]]]}
&lt;p&gt;]}}}&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25867">CONTROLLER-1313</key>
            <summary>Clustering : Commit to clustered data store fails with &quot;Unmodified candidate should never be in the payload&quot;</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="moraja@cisco.com">Moiz Raja</assignee>
                                    <reporter username="repenno">Reinaldo Penno</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 May 2015 08:51:18 +0000</created>
                <updated>Thu, 19 Oct 2017 16:36:46 +0000</updated>
                            <resolved>Thu, 14 May 2015 16:34:27 +0000</resolved>
                                    <version>0.4.0</version>
                                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="50611" author="rapenno@gmail.com" created="Wed, 13 May 2015 16:47:31 +0000"  >&lt;p&gt;I should point out that we try to write the modified node with a write merge.&lt;/p&gt;</comment>
                            <comment id="50612" author="rapenno@gmail.com" created="Wed, 13 May 2015 16:49:03 +0000"  >&lt;p&gt;I should point out that we try to commit the modified node with a write merge, not a overwrite.&lt;/p&gt;</comment>
                            <comment id="50613" author="rapenno@gmail.com" created="Wed, 13 May 2015 16:49:50 +0000"  >&lt;p&gt;Hi Moiz,&lt;/p&gt;

&lt;p&gt;can you take a look at this? It is really important and pressing.&lt;/p&gt;

&lt;p&gt;thanks,&lt;/p&gt;</comment>
                            <comment id="50614" author="moraja@cisco.com" created="Wed, 13 May 2015 17:40:22 +0000"  >&lt;p&gt;Reinaldo,&lt;/p&gt;

&lt;p&gt;Couple of questions,&lt;/p&gt;

&lt;p&gt;1. Is this happening in code that has been merged into the SFC project?&lt;br/&gt;
2. If it has been, what are the steps to reproduce this problem?&lt;/p&gt;

&lt;p&gt;I need to create a unit test to reproduce this problem.&lt;/p&gt;</comment>
                            <comment id="50615" author="rapenno@gmail.com" created="Wed, 13 May 2015 18:02:07 +0000"  >&lt;p&gt;Steps to reproduce.&lt;/p&gt;

&lt;p&gt;1 -  Check out SFC distribution or get integration build. &lt;/p&gt;

&lt;p&gt;2 - Start an OVS switch with the following configuration:&lt;/p&gt;

&lt;p&gt;Manager &quot;tcp:192.168.1.14:6640&quot;&lt;br/&gt;
  Bridge br-tun&lt;br/&gt;
    Port br-tun&lt;br/&gt;
      Interface br-tun&lt;br/&gt;
        type:internal&lt;/p&gt;

&lt;p&gt;The IP address is your ODL&apos;s IP address&lt;/p&gt;


&lt;p&gt;3 - (Run SFC karaf) or (integration and load all SFC features)&lt;/p&gt;


&lt;p&gt;4 - After OVS connects state will be created in SFC. Then use the following command&lt;br/&gt;
    to update state on OVS:&lt;/p&gt;

&lt;p&gt;    sudo ovs-vsctl add-port br-tun vx1 &amp;#8211; set interface type=vxlan options:local_ip=10.0.0.1&lt;/p&gt;

&lt;p&gt;This will create a notification in the OVS-&amp;gt;OVSDB-&amp;gt;SFC direction. When SFC tries to commit the modified&lt;br/&gt;
OVS node configuration to the datastore you will see all those errors and the system will stop operating. Not only this&lt;br/&gt;
transaction but any further transactions will not happen&lt;/p&gt;</comment>
                            <comment id="50616" author="moraja@cisco.com" created="Wed, 13 May 2015 20:13:00 +0000"  >&lt;p&gt;This appears to be a serialization issue. When Reinaldo disabled persistence things worked fine.&lt;/p&gt;

&lt;p&gt;This issue affects persistence and replication so still high priority.&lt;/p&gt;</comment>
                            <comment id="50617" author="tpantelis" created="Wed, 13 May 2015 20:26:22 +0000"  >&lt;p&gt;Yes - DataTreeCandidatePayload is only created for persistence to the journal. I don&apos;t know why DataTreeCandidatePayload fails fast is there&apos;s a nested unmodified node (would have to ask Robert) but have you tried removing IllegalArgumentException and writing the UNMODIFIED byte? Maybe it&apos;s benign or is valid. The read code seems to handle UNMODIFIED.&lt;/p&gt;

&lt;p&gt;(In reply to Moiz Raja from comment #6)&lt;br/&gt;
&amp;gt; This appears to be a serialization issue. When Reinaldo disabled persistence&lt;br/&gt;
&amp;gt; things worked fine.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; This issue affects persistence and replication so still high priority.&lt;/p&gt;</comment>
                            <comment id="50618" author="rapenno@gmail.com" created="Wed, 13 May 2015 20:47:22 +0000"  >&lt;p&gt;As I told Moiz, if I use a write-put (overwrite) instead of write-merge things work better. This is just a data point that I hope helps but I can not use write overwrite.&lt;/p&gt;</comment>
                            <comment id="50619" author="rovarga" created="Wed, 13 May 2015 21:28:32 +0000"  >&lt;p&gt;So the top-level node is defensive in order to deal with empty transactions. An UNMODIFIED node nested below root is an anomaly, as such nodes should normally be pruned during DataTreeModification.ready().&lt;/p&gt;

&lt;p&gt;Reinaldo, can you explain what &apos;work better&apos; means?&lt;/p&gt;</comment>
                            <comment id="50620" author="hagbard@gmail.com" created="Wed, 13 May 2015 21:34:31 +0000"  >&lt;p&gt;Slight correction... I believe that in the reproduction instructions:&lt;/p&gt;

&lt;p&gt;sudo ovs-vsctl add-port br-tun vx1 &amp;#8211; set interface type=vxlan options:local_ip=10.0.0.1&lt;/p&gt;

&lt;p&gt;should be replaced with:&lt;/p&gt;

&lt;p&gt;sudo ovs-vsctl add-port br-tun vx1 &amp;#8211; set interface br-tun options:type=vxlan,local_ip=10.0.0.1&lt;/p&gt;</comment>
                            <comment id="50621" author="rapenno@gmail.com" created="Wed, 13 May 2015 21:52:48 +0000"  >&lt;p&gt;Works better as in I do not see barf messages with simple OVS transactions but I have not done serious testing because I can not use it.&lt;/p&gt;</comment>
                            <comment id="50622" author="moraja@cisco.com" created="Wed, 13 May 2015 22:00:45 +0000"  >&lt;p&gt;Robert, this is not a top level node where this exception happens so as Tom recommends maybe it&apos;s ok to just write a UNMODIFIED byte here.&lt;/p&gt;</comment>
                            <comment id="50623" author="moraja@cisco.com" created="Thu, 14 May 2015 00:16:02 +0000"  >&lt;p&gt;Reinaldo please try this fix &lt;a href=&quot;https://git.opendaylight.org/gerrit/20310&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/20310&lt;/a&gt;. Make sure you turn persistence on again.&lt;/p&gt;</comment>
                            <comment id="50624" author="moraja@cisco.com" created="Thu, 14 May 2015 00:48:57 +0000"  >&lt;p&gt;I think that this is happening for a specific case. This is the node which appeared as UNMODIFIED&lt;/p&gt;

&lt;p&gt;mod&lt;br/&gt;
&amp;#8212;&lt;/p&gt;

&lt;p&gt;NodeModification [identifier=AugmentationIdentifier&lt;/p&gt;
{childNames=[(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options]}
&lt;p&gt;, modificationType=MERGE, childModification={(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options=NodeModification &lt;span class=&quot;error&quot;&gt;&amp;#91;identifier=(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options, modificationType=MERGE, childModification={}&amp;#93;&lt;/span&gt;}]&lt;/p&gt;

&lt;p&gt;newMeta.data&lt;br/&gt;
------------&lt;/p&gt;

&lt;p&gt;ImmutableAugmentationNode{nodeIdentifier=AugmentationIdentifier&lt;/p&gt;
{childNames=[(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options]}
&lt;p&gt;, value=[ImmutableContainerNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options, value=[], attributes={}}]}&lt;/p&gt;

&lt;p&gt;oldMeta.data&lt;br/&gt;
------------&lt;/p&gt;

&lt;p&gt;ImmutableAugmentationNode{nodeIdentifier=AugmentationIdentifier&lt;/p&gt;
{childNames=[(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options]}
&lt;p&gt;, value=[ImmutableContainerNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options, value=[], attributes={}}]}&lt;/p&gt;</comment>
                            <comment id="50625" author="rapenno@gmail.com" created="Thu, 14 May 2015 01:25:22 +0000"  >&lt;p&gt;I tried and the fix worked. I do not see clustering errors and all OVS information appears in SFC.&lt;/p&gt;</comment>
                            <comment id="50626" author="tpantelis" created="Thu, 14 May 2015 01:28:50 +0000"  >&lt;p&gt;I tried to repro in a unit test by writing or merging the same node twice. But it succeeded.&lt;/p&gt;

&lt;p&gt;It appears to be a specific case.&lt;/p&gt;

&lt;p&gt;As Robert pointed out, InMemoryDataTreeModification.ready() is supposed to prune the tree of UNMODIFIED children. However, in the code path from the ex trace, I don&apos;t see where InMemoryDataTreeModification.ready() is called. There are other code paths in CDS (e.g. on recovery) where it is called. It seems like that might be the problem. However I&apos;m unclear at this point exactly where ready() should/would be called.&lt;/p&gt;

&lt;p&gt;Regardless, I think your patch is good - we really don&apos;t need the code to be that paranoid about UNMODIFIED children. There may be cases where something may not be pruned. &lt;/p&gt;


&lt;p&gt;(In reply to Moiz Raja from comment #14)&lt;br/&gt;
&amp;gt; I think that this is happening for a specific case. This is the node which&lt;br/&gt;
&amp;gt; appeared as UNMODIFIED&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; mod&lt;br/&gt;
&amp;gt; &amp;#8212;&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; NodeModification&lt;br/&gt;
&amp;gt; [identifier=AugmentationIdentifier&lt;/p&gt;
{childNames=[(urn:cisco:params:xml:ns:yang:
&amp;gt; sfc-sff-ovs?revision=2014-07-01)ovs-options]}
&lt;p&gt;, modificationType=MERGE,&lt;br/&gt;
&amp;gt; childModification={(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-&lt;br/&gt;
&amp;gt; 07-01)ovs-options=NodeModification&lt;br/&gt;
&amp;gt; [identifier=(urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-&lt;br/&gt;
&amp;gt; 01)ovs-options, modificationType=MERGE, childModification={}]}]&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; newMeta.data&lt;br/&gt;
&amp;gt; ------------&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; ImmutableAugmentationNode{nodeIdentifier=AugmentationIdentifier&lt;/p&gt;
{childNames=[(
&amp;gt; urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options]}
&lt;p&gt;,&lt;br/&gt;
&amp;gt; value=[ImmutableContainerNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:&lt;br/&gt;
&amp;gt; sfc-sff-ovs?revision=2014-07-01)ovs-options, value=[], attributes={}}]}&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; oldMeta.data&lt;br/&gt;
&amp;gt; ------------&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; ImmutableAugmentationNode{nodeIdentifier=AugmentationIdentifier&lt;/p&gt;
{childNames=[(
&amp;gt; urn:cisco:params:xml:ns:yang:sfc-sff-ovs?revision=2014-07-01)ovs-options]}
&lt;p&gt;,&lt;br/&gt;
&amp;gt; value=[ImmutableContainerNode{nodeIdentifier=(urn:cisco:params:xml:ns:yang:&lt;br/&gt;
&amp;gt; sfc-sff-ovs?revision=2014-07-01)ovs-options, value=[], attributes={}}]}&lt;/p&gt;</comment>
                            <comment id="50627" author="tpantelis" created="Thu, 14 May 2015 01:30:36 +0000"  >&lt;p&gt;Did you try restarting the controller? Would also be good to verify the data recovers correctly from persistence.&lt;/p&gt;

&lt;p&gt;(In reply to Reinaldo Penno from comment #15)&lt;br/&gt;
&amp;gt; I tried and the fix worked. I do not see clustering errors and all OVS&lt;br/&gt;
&amp;gt; information appears in SFC.&lt;/p&gt;</comment>
                            <comment id="50628" author="rapenno@gmail.com" created="Thu, 14 May 2015 01:35:24 +0000"  >&lt;p&gt;Hi Tom,&lt;/p&gt;

&lt;p&gt;just tested that as you requested. I restarted the controller and all SFC-OVS info is there.&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
  &quot;service-function-forwarders&quot;: {&lt;br/&gt;
    &quot;service-function-forwarder&quot;: [&lt;br/&gt;
      {&lt;br/&gt;
        &quot;name&quot;: &quot;ovsdb://192.168.1.27:39707/bridge/br-tun&quot;,&lt;br/&gt;
        &quot;sff-data-plane-locator&quot;: [&lt;br/&gt;
          {&lt;br/&gt;
            &quot;name&quot;: &quot;vx1&quot;,&lt;br/&gt;
            &quot;service-function-forwarder-ovs:ovs-options&quot;: &lt;/p&gt;
{
              &quot;remote-ip&quot;: &quot;10.0.0.1&quot;,
              &quot;local-ip&quot;: &quot;10.0.0.2&quot;
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;data-plane-locator&quot;: &lt;/p&gt;
{
              &quot;ip&quot;: &quot;10.0.0.1&quot;,
              &quot;transport&quot;: &quot;service-locator:vxlan-gpe&quot;
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
              &quot;bridge-name&quot;: &quot;br-tun&quot;,
              &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
              &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
            }
&lt;p&gt;          },&lt;br/&gt;
          {&lt;br/&gt;
            &quot;name&quot;: &quot;br-tun&quot;,&lt;br/&gt;
            &quot;service-function-forwarder-ovs:ovs-options&quot;: {},&lt;br/&gt;
            &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
              &quot;bridge-name&quot;: &quot;br-tun&quot;,
              &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
              &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;data-plane-locator&quot;: &lt;/p&gt;
{
              &quot;other-name&quot;: &quot;Other&quot;,
              &quot;transport&quot;: &quot;service-locator:other&quot;
            }
&lt;p&gt;          }&lt;br/&gt;
        ],&lt;br/&gt;
        &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
          &quot;bridge-name&quot;: &quot;br-tun&quot;,
          &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
          &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
        }
&lt;p&gt;,&lt;br/&gt;
        &quot;service-function-forwarder-ovs:ovs-node&quot;: &lt;/p&gt;
{
          &quot;node-id&quot;: &quot;/network-topology:network-topology/network-topology:topology[network-topology:topology-id=&apos;ovsdb:1&apos;]/network-topology:node[network-topology:node-id=&apos;ovsdb://192.168.1.27:39707&apos;]&quot;
        }
&lt;p&gt;      },&lt;br/&gt;
      {&lt;br/&gt;
        &quot;name&quot;: &quot;ovsdb://192.168.1.27:39717/bridge/br-tun&quot;,&lt;br/&gt;
        &quot;sff-data-plane-locator&quot;: [&lt;br/&gt;
          {&lt;br/&gt;
            &quot;name&quot;: &quot;br-tun&quot;,&lt;br/&gt;
            &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
              &quot;bridge-name&quot;: &quot;br-tun&quot;,
              &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
              &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;data-plane-locator&quot;: &lt;/p&gt;
{
              &quot;transport&quot;: &quot;service-locator:other&quot;,
              &quot;other-name&quot;: &quot;Other&quot;
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;service-function-forwarder-ovs:ovs-options&quot;: {}&lt;br/&gt;
          },&lt;br/&gt;
          {&lt;br/&gt;
            &quot;name&quot;: &quot;vx1&quot;,&lt;br/&gt;
            &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
              &quot;bridge-name&quot;: &quot;br-tun&quot;,
              &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
              &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;data-plane-locator&quot;: &lt;/p&gt;
{
              &quot;transport&quot;: &quot;service-locator:vxlan-gpe&quot;,
              &quot;ip&quot;: &quot;10.0.0.2&quot;
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;service-function-forwarder-ovs:ovs-options&quot;: &lt;/p&gt;
{
              &quot;remote-ip&quot;: &quot;10.0.0.1&quot;,
              &quot;local-ip&quot;: &quot;10.0.0.2&quot;
            }
&lt;p&gt;          }&lt;br/&gt;
        ],&lt;br/&gt;
        &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
          &quot;bridge-name&quot;: &quot;br-tun&quot;,
          &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
          &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
        }
&lt;p&gt;,&lt;br/&gt;
        &quot;service-function-forwarder-ovs:ovs-node&quot;: &lt;/p&gt;
{
          &quot;node-id&quot;: &quot;/network-topology:network-topology/network-topology:topology[network-topology:topology-id=&apos;ovsdb:1&apos;]/network-topology:node[network-topology:node-id=&apos;ovsdb://192.168.1.27:39717&apos;]&quot;
        }
&lt;p&gt;      }&lt;br/&gt;
    ]&lt;br/&gt;
  }&lt;br/&gt;
}&lt;/p&gt;</comment>
                            <comment id="50629" author="moraja@cisco.com" created="Thu, 14 May 2015 01:43:35 +0000"  >&lt;p&gt;What do you do with ovs-options? That is the child which appears unmodified.&lt;/p&gt;</comment>
                            <comment id="50630" author="tpantelis" created="Thu, 14 May 2015 01:50:31 +0000"  >&lt;p&gt;Cool. I&apos;m good with merging the patch. We can continue looking into why there were UNMODIFIED children but this will unblock you.&lt;/p&gt;

&lt;p&gt;(In reply to Reinaldo Penno from comment #18)&lt;br/&gt;
&amp;gt; Hi Tom,&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; just tested that as you requested. I restarted the controller and all&lt;br/&gt;
&amp;gt; SFC-OVS info is there.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; {&lt;br/&gt;
&amp;gt;   &quot;service-function-forwarders&quot;: {&lt;br/&gt;
&amp;gt;     &quot;service-function-forwarder&quot;: [&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;name&quot;: &quot;ovsdb://192.168.1.27:39707/bridge/br-tun&quot;,&lt;br/&gt;
&amp;gt;         &quot;sff-data-plane-locator&quot;: [&lt;br/&gt;
&amp;gt;           {&lt;br/&gt;
&amp;gt;             &quot;name&quot;: &quot;vx1&quot;,&lt;br/&gt;
&amp;gt;             &quot;service-function-forwarder-ovs:ovs-options&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;remote-ip&quot;: &quot;10.0.0.1&quot;,
&amp;gt;               &quot;local-ip&quot;: &quot;10.0.0.2&quot;
&amp;gt;             }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;             &quot;data-plane-locator&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;ip&quot;: &quot;10.0.0.1&quot;,
&amp;gt;               &quot;transport&quot;: &quot;service-locator:vxlan-gpe&quot;
&amp;gt;             }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;             &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;bridge-name&quot;: &quot;br-tun&quot;,
&amp;gt;               &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
&amp;gt;               &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
&amp;gt;             }
&lt;p&gt;&amp;gt;           },&lt;br/&gt;
&amp;gt;           {&lt;br/&gt;
&amp;gt;             &quot;name&quot;: &quot;br-tun&quot;,&lt;br/&gt;
&amp;gt;             &quot;service-function-forwarder-ovs:ovs-options&quot;: {},&lt;br/&gt;
&amp;gt;             &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;bridge-name&quot;: &quot;br-tun&quot;,
&amp;gt;               &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
&amp;gt;               &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
&amp;gt;             }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;             &quot;data-plane-locator&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;other-name&quot;: &quot;Other&quot;,
&amp;gt;               &quot;transport&quot;: &quot;service-locator:other&quot;
&amp;gt;             }
&lt;p&gt;&amp;gt;           }&lt;br/&gt;
&amp;gt;         ],&lt;br/&gt;
&amp;gt;         &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
&amp;gt;           &quot;bridge-name&quot;: &quot;br-tun&quot;,
&amp;gt;           &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
&amp;gt;           &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
&amp;gt;         }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;         &quot;service-function-forwarder-ovs:ovs-node&quot;: &lt;/p&gt;
{
&amp;gt;           &quot;node-id&quot;:
&amp;gt; &quot;/network-topology:network-topology/network-topology:topology[network-
&amp;gt; topology:topology-id=&apos;ovsdb:1&apos;]/network-topology:node[network-topology:node-
&amp;gt; id=&apos;ovsdb://192.168.1.27:39707&apos;]&quot;
&amp;gt;         }
&lt;p&gt;&amp;gt;       },&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;name&quot;: &quot;ovsdb://192.168.1.27:39717/bridge/br-tun&quot;,&lt;br/&gt;
&amp;gt;         &quot;sff-data-plane-locator&quot;: [&lt;br/&gt;
&amp;gt;           {&lt;br/&gt;
&amp;gt;             &quot;name&quot;: &quot;br-tun&quot;,&lt;br/&gt;
&amp;gt;             &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;bridge-name&quot;: &quot;br-tun&quot;,
&amp;gt;               &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
&amp;gt;               &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
&amp;gt;             }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;             &quot;data-plane-locator&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;transport&quot;: &quot;service-locator:other&quot;,
&amp;gt;               &quot;other-name&quot;: &quot;Other&quot;
&amp;gt;             }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;             &quot;service-function-forwarder-ovs:ovs-options&quot;: {}&lt;br/&gt;
&amp;gt;           },&lt;br/&gt;
&amp;gt;           {&lt;br/&gt;
&amp;gt;             &quot;name&quot;: &quot;vx1&quot;,&lt;br/&gt;
&amp;gt;             &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;bridge-name&quot;: &quot;br-tun&quot;,
&amp;gt;               &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
&amp;gt;               &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
&amp;gt;             }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;             &quot;data-plane-locator&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;transport&quot;: &quot;service-locator:vxlan-gpe&quot;,
&amp;gt;               &quot;ip&quot;: &quot;10.0.0.2&quot;
&amp;gt;             }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;             &quot;service-function-forwarder-ovs:ovs-options&quot;: &lt;/p&gt;
{
&amp;gt;               &quot;remote-ip&quot;: &quot;10.0.0.1&quot;,
&amp;gt;               &quot;local-ip&quot;: &quot;10.0.0.2&quot;
&amp;gt;             }
&lt;p&gt;&amp;gt;           }&lt;br/&gt;
&amp;gt;         ],&lt;br/&gt;
&amp;gt;         &quot;service-function-forwarder-ovs:ovs-bridge&quot;: &lt;/p&gt;
{
&amp;gt;           &quot;bridge-name&quot;: &quot;br-tun&quot;,
&amp;gt;           &quot;openflow-node-id&quot;: &quot;openflow:275762272115268&quot;,
&amp;gt;           &quot;uuid&quot;: &quot;45e8cdf8-b4d7-449a-b7e9-9fca8409bd7f&quot;
&amp;gt;         }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;         &quot;service-function-forwarder-ovs:ovs-node&quot;: &lt;/p&gt;
{
&amp;gt;           &quot;node-id&quot;:
&amp;gt; &quot;/network-topology:network-topology/network-topology:topology[network-
&amp;gt; topology:topology-id=&apos;ovsdb:1&apos;]/network-topology:node[network-topology:node-
&amp;gt; id=&apos;ovsdb://192.168.1.27:39717&apos;]&quot;
&amp;gt;         }
&lt;p&gt;&amp;gt;       }&lt;br/&gt;
&amp;gt;     ]&lt;br/&gt;
&amp;gt;   }&lt;br/&gt;
&amp;gt; }&lt;/p&gt;</comment>
                            <comment id="50631" author="rovarga" created="Thu, 14 May 2015 10:16:11 +0000"  >&lt;p&gt;DataTreeModification.ready() is called via ShardDataTree.finishTransaction(), which is invoked from CohortEntry.ready().&lt;/p&gt;</comment>
                            <comment id="50632" author="tpantelis" created="Thu, 14 May 2015 13:06:16 +0000"  >&lt;p&gt;Yup - missed that.&lt;/p&gt;

&lt;p&gt;(In reply to Robert Varga from comment #21)&lt;br/&gt;
&amp;gt; DataTreeModification.ready() is called via&lt;br/&gt;
&amp;gt; ShardDataTree.finishTransaction(), which is invoked from CohortEntry.ready().&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>3200</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=3200]]></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="10383"><![CDATA[Lithium-RC1]]></customfieldvalue>

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

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