<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:11:06 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>[MDSAL-837] WriteTransaction.mergeParentStructure{Merge,Put} does not work with augmentation InstanceIdentifier</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-837</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;Discovered in &lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/integration/job/netconf-csit-1node-userfeatures-all-master/260/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;netconf-csit-1node-userfeatures-all-master #260&lt;/a&gt; - The test was done with the master branch (7.0.0-SNAPSHOT) but 6.0.0 also has the same issue.&lt;/p&gt;

&lt;p&gt;The following NETCONF &lt;tt&gt;create-device&lt;/tt&gt; RPC fails:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;POST Request : url=http://10.30.170.237:8181/rests/operations/netconf-node-topology:create-device 
 path_url=/rests/operations/netconf-node-topology:create-device 
 headers={&apos;User-Agent&apos;: &apos;python-requests/2.31.0&apos;, &apos;Accept-Encoding&apos;: &apos;gzip, deflate&apos;, &apos;Accept&apos;: &apos;application/xml&apos;, &apos;Connection&apos;: &apos;keep-alive&apos;, &apos;Content-Type&apos;: &apos;application/xml&apos;, &apos;Cookie&apos;: &apos;JSESSIONID=node0bnhlhqxk9lc11mgprjh259gwa3.node0&apos;, &apos;Content-Length&apos;: &apos;292&apos;, &apos;Authorization&apos;: &apos;Basic YWRtaW46YWRtaW4=&apos;} 
 body=&amp;lt;input xmlns=&quot;urn:opendaylight:netconf-node-topology&quot;&amp;gt;
   &amp;lt;node-id&amp;gt;netconf-test-device&amp;lt;/node-id&amp;gt;
   &amp;lt;host&amp;gt;10.30.171.161&amp;lt;/host&amp;gt;
   &amp;lt;port&amp;gt;17830&amp;lt;/port&amp;gt;
   &amp;lt;username&amp;gt;admin&amp;lt;/username&amp;gt;
   &amp;lt;password&amp;gt;topsecret&amp;lt;/password&amp;gt;
   &amp;lt;tcp-only&amp;gt;false&amp;lt;/tcp-only&amp;gt;
   &amp;lt;keepalive-delay&amp;gt;0&amp;lt;/keepalive-delay&amp;gt;
 &amp;lt;/input&amp;gt; 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;with this response:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;POST Response : url=http://10.30.170.237:8181/rests/operations/netconf-node-topology:create-device 
 status=500, reason=Internal Server Error 
 headers={&apos;Content-Type&apos;: &apos;application/yang-data+xml&apos;, &apos;Content-Length&apos;: &apos;247&apos;} 
 body=&amp;lt;errors xmlns=&quot;urn:ietf:params:xml:ns:yang:ietf-restconf&quot;&amp;gt;&amp;lt;error&amp;gt;&amp;lt;error-tag&amp;gt;operation-failed&amp;lt;/error-tag&amp;gt;&amp;lt;error-info&amp;gt;&amp;amp;lt;severity&amp;gt;error&amp;amp;lt;/severity&amp;gt;&amp;lt;/error-info&amp;gt;&amp;lt;error-message&amp;gt;RPC failed&amp;lt;/error-message&amp;gt;&amp;lt;error-type&amp;gt;rpc&amp;lt;/error-type&amp;gt;&amp;lt;/error&amp;gt;&amp;lt;/errors&amp;gt; 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://s3-logs.opendaylight.org/logs/releng/vex-yul-odl-jenkins-1/netconf-csit-1node-userfeatures-all-master/260/odl_1/odl1_karaf.log.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Karaf log&lt;/a&gt; shows the following error:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;2023-07-21T07:09:17,931 | ERROR | CommitFutures-0  | NetconfTopologyRPCProvider       | 293 - org.opendaylight.netconf.topology - 7.0.0.SNAPSHOT | add-netconf-node RPC: Unable to add netconf node.
org.opendaylight.mdsal.common.api.TransactionCommitFailedException: canCommit encountered an unexpected failure
	at org.opendaylight.mdsal.dom.broker.TransactionCommitFailedExceptionMapper.newWithCause(TransactionCommitFailedExceptionMapper.java:37) ~[bundleFile:?]
	at org.opendaylight.mdsal.dom.broker.TransactionCommitFailedExceptionMapper.newWithCause(TransactionCommitFailedExceptionMapper.java:18) ~[bundleFile:?]
	at org.opendaylight.yangtools.util.concurrent.ExceptionMapper.apply(ExceptionMapper.java:99) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.databroker.ConcurrentDOMDataBroker.handleException(ConcurrentDOMDataBroker.java:164) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.databroker.ConcurrentDOMDataBroker$1.onFailure(ConcurrentDOMDataBroker.java:108) ~[bundleFile:?]
	at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1119) ~[bundleFile:?]
	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31) ~[bundleFile:?]
	at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1286) ~[bundleFile:?]
	at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:1055) ~[bundleFile:?]
	at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:807) ~[bundleFile:?]
	at com.google.common.util.concurrent.SettableFuture.setException(SettableFuture.java:55) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.databroker.actors.dds.AbstractProxyTransaction.lambda$directCommit$4(AbstractProxyTransaction.java:517) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.ConnectionEntry.complete(ConnectionEntry.java:47) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.AbstractClientConnection.receiveResponse(AbstractClientConnection.java:494) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.AbstractReceivingClientConnection.receiveResponse(AbstractReceivingClientConnection.java:68) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.ClientActorBehavior.onResponse(ClientActorBehavior.java:184) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.ClientActorBehavior.onRequestFailure(ClientActorBehavior.java:196) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.ClientActorBehavior.internalOnRequestFailure(ClientActorBehavior.java:248) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.ClientActorBehavior.onReceiveCommand(ClientActorBehavior.java:155) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.ClientActorBehavior.onReceiveCommand(ClientActorBehavior.java:48) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.access.client.AbstractClientActor.onReceiveCommand(AbstractClientActor.java:74) ~[bundleFile:?]
	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) ~[bundleFile:?]
	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) ~[bundleFile:?]
	at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) ~[bundleFile:?]
	at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) ~[bundleFile:?]
	at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) ~[bundleFile:?]
	at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:269) ~[bundleFile:?]
	at akka.actor.Actor.aroundReceive(Actor.scala:537) ~[bundleFile:?]
	at akka.actor.Actor.aroundReceive$(Actor.scala:535) ~[bundleFile:?]
	at akka.persistence.AbstractPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:295) ~[bundleFile:?]
	at akka.persistence.Eventsourced$$anon$4.stateReceive(Eventsourced.scala:917) ~[bundleFile:?]
	at akka.persistence.Eventsourced.aroundReceive(Eventsourced.scala:245) ~[bundleFile:?]
	at akka.persistence.Eventsourced.aroundReceive$(Eventsourced.scala:244) ~[bundleFile:?]
	at akka.persistence.AbstractPersistentActor.aroundReceive(PersistentActor.scala:295) ~[bundleFile:?]
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:579) ~[bundleFile:?]
	at akka.actor.ActorCell.invoke(ActorCell.scala:547) ~[bundleFile:?]
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270) ~[bundleFile:?]
	at akka.dispatch.Mailbox.run(Mailbox.scala:231) ~[bundleFile:?]
	at akka.dispatch.Mailbox.exec(Mailbox.scala:243) ~[bundleFile:?]
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Metadata not available for modification ModifiedNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=netconf-test-device}], operation=TOUCH, childModification={(urn:opendaylight:netconf-node-topology?revision=2022-12-25)sleep-factor=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)sleep-factor, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)default-request-timeout-millis=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)default-request-timeout-millis, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)port=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)port, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)connection-timeout-millis=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)connection-timeout-millis, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)tcp-only=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)tcp-only, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)lock-datastore=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)lock-datastore, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)concurrent-rpc-limit=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)concurrent-rpc-limit, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)host=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)host, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)max-connection-attempts=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)max-connection-attempts, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)credentials=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)credentials, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)schema-cache-directory=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)schema-cache-directory, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)between-attempts-timeout-millis=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)between-attempts-timeout-millis, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)actor-response-wait-time=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)actor-response-wait-time, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)schemaless=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)schemaless, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)reconnect-on-changed-schema=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)reconnect-on-changed-schema, operation=MERGE}, (urn:opendaylight:netconf-node-topology?revision=2022-12-25)keepalive-delay=ModifiedNode{identifier=(urn:opendaylight:netconf-node-topology?revision=2022-12-25)keepalive-delay, operation=MERGE}}}
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:218) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:206) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:219) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:193) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:218) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.MapModificationStrategy.lambda$apply$0(MapModificationStrategy.java:66) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AutomaticLifecycleMixin.apply(AutomaticLifecycleMixin.java:61) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.MapModificationStrategy.apply(MapModificationStrategy.java:66) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:219) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:329) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:248) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:221) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:219) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:329) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:248) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:221) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.MapModificationStrategy.lambda$apply$0(MapModificationStrategy.java:66) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AutomaticLifecycleMixin.apply(AutomaticLifecycleMixin.java:61) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.MapModificationStrategy.apply(MapModificationStrategy.java:66) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:219) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:329) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:248) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:221) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.StructuralContainerModificationStrategy.lambda$apply$0(StructuralContainerModificationStrategy.java:37) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AutomaticLifecycleMixin.apply(AutomaticLifecycleMixin.java:61) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.StructuralContainerModificationStrategy.apply(StructuralContainerModificationStrategy.java:37) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:219) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:329) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:207) ~[bundleFile:?]
	at org.opendaylight.yangtools.yang.data.tree.impl.AbstractDataTreeTip.prepare(AbstractDataTreeTip.java:53) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.ShardDataTree.startPreCommit(ShardDataTree.java:1032) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.preCommit(SimpleShardDataTreeCohort.java:112) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.successfulDirectCanCommit(FrontendReadWriteTransaction.java:459) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction$8.onSuccess(FrontendReadWriteTransaction.java:436) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction$8.onSuccess(FrontendReadWriteTransaction.java:433) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.successfulCanCommit(SimpleShardDataTreeCohort.java:171) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.ShardDataTree.lambda$processNextPendingTransaction$4(ShardDataTree.java:840) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPending(ShardDataTree.java:884) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPendingTransaction(ShardDataTree.java:831) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.ShardDataTree.startCanCommit(ShardDataTree.java:986) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:99) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.directCommit(FrontendReadWriteTransaction.java:433) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.handleCommitLocalTransaction(FrontendReadWriteTransaction.java:524) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.doHandleRequest(FrontendReadWriteTransaction.java:193) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.FrontendTransaction.handleRequest(FrontendTransaction.java:138) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.AbstractFrontendHistory.handleTransactionRequest(AbstractFrontendHistory.java:122) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.LeaderFrontendState$Enabled.handleTransactionRequest(LeaderFrontendState.java:137) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.Shard.handleRequest(Shard.java:638) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.Shard.handleRequestEnvelope(Shard.java:440) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:368) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:270) ~[bundleFile:?]
	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) ~[bundleFile:?]
	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) ~[bundleFile:?]
	at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) ~[bundleFile:?]
	at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) ~[bundleFile:?]
	at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) ~[bundleFile:?]
	at scala.PartialFunction$OrElse.apply(PartialFunction.scala:266) ~[bundleFile:?]
	at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) ~[bundleFile:?]
	at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) ~[bundleFile:?]
	at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) ~[bundleFile:?]
	at scala.PartialFunction$OrElse.apply(PartialFunction.scala:266) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:93) ~[bundleFile:?]
	at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:29) ~[bundleFile:?]
	at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) ~[bundleFile:?]
	at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) ~[bundleFile:?]
	at scala.runtime.AbstractPartialFunction.applyOrElse(AbstractPartialFunction.scala:27) ~[bundleFile:?]
	... 17 more
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="37129">MDSAL-837</key>
            <summary>WriteTransaction.mergeParentStructure{Merge,Put} does not work with augmentation InstanceIdentifier</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</priority>
                        <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="rovarga">Robert Varga</assignee>
                                    <reporter username="sangwookha">Sangwook Ha</reporter>
                        <labels>
                            <label>pt</label>
                            <label>regression</label>
                    </labels>
                <created>Fri, 21 Jul 2023 08:11:30 +0000</created>
                <updated>Wed, 30 Aug 2023 11:45:00 +0000</updated>
                            <resolved>Wed, 30 Aug 2023 11:45:00 +0000</resolved>
                                    <version>12.0.0</version>
                                    <fixVersion>12.0.1</fixVersion>
                                    <component>Binding runtime</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="72440" author="JIRAUSER15510" created="Fri, 11 Aug 2023 12:38:06 +0000"  >&lt;p&gt;I have reproduced the issue using the payload with the wrong indentation level &lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;curl --location &apos;http://192.168.56.20:8181/rests/operations/netconf-node-topology:create-device&apos; \
--header &apos;User-Agent: python-requests/2.31.0&apos; \
--header &apos;Accept-Encoding: gzip, deflate&apos; \
--header &apos;Accept: application/xml&apos; \
--header &apos;Connection: keep-alive&apos; \
--header &apos;Content-Type: application/xml&apos; \
--header &apos;Content-Length: 292&apos; \
--header &apos;Authorization: Basic YWRtaW46YWRtaW4=&apos; \
--header &apos;Cookie: JSESSIONID=node0jckrk1nx7nkc1v458upzu0fig0.node0&apos; \
--data &apos;&amp;lt;input xmlns=&quot;urn:opendaylight:netconf-node-topology&quot;&amp;gt;
&amp;lt;node-id&amp;gt;netconf-test-device&amp;lt;/node-id&amp;gt;
&amp;lt;host&amp;gt;192.168.56.20&amp;lt;/host&amp;gt;
&amp;lt;port&amp;gt;17830&amp;lt;/port&amp;gt;
&amp;lt;username&amp;gt;admin&amp;lt;/username&amp;gt;
&amp;lt;password&amp;gt;topsecret&amp;lt;/password&amp;gt;
&amp;lt;tcp-only&amp;gt;false&amp;lt;/tcp-only&amp;gt;
&amp;lt;keepalive-delay&amp;gt;0&amp;lt;/keepalive-delay&amp;gt;
&amp;lt;/input&amp;gt;&apos;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/attachment/19016/19016_karaf+netconf-master%287.0.x%29.log&quot; title=&quot;karaf netconf-master(7.0.x).log attached to MDSAL-837&quot;&gt;karaf netconf-master(7.0.x).log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.opendaylight.org/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/attachment/19017/19017_karaf+netconf-6.0.x.log&quot; title=&quot;karaf netconf-6.0.x.log attached to MDSAL-837&quot;&gt;karaf netconf-6.0.x.log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.opendaylight.org/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="72441" author="JIRAUSER15510" created="Fri, 11 Aug 2023 12:42:49 +0000"  >&lt;p&gt;with correct identation&#160;&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;curl --location &apos;http://192.168.56.20:8181/rests/operations/netconf-node-topology:create-device&apos; \
--header &apos;User-Agent: python-requests/2.31.0&apos; \
--header &apos;Accept-Encoding: gzip, deflate&apos; \
--header &apos;Accept: application/xml&apos; \
--header &apos;Connection: keep-alive&apos; \
--header &apos;Content-Type: application/xml&apos; \
--header &apos;Content-Length: 292&apos; \
--header &apos;Authorization: Basic YWRtaW46YWRtaW4=&apos; \
--header &apos;Cookie: JSESSIONID=node0jckrk1nx7nkc1v458upzu0fig0.node0&apos; \
--data &apos;&amp;lt;input xmlns=&quot;urn:opendaylight:netconf-node-topology&quot;&amp;gt;
&#160; &#160; &amp;lt;node-id&amp;gt;netconf-test-device&amp;lt;/node-id&amp;gt;
&#160; &#160; &amp;lt;host&amp;gt;192.168.56.20&amp;lt;/host&amp;gt;
&#160; &#160; &amp;lt;port&amp;gt;17830&amp;lt;/port&amp;gt;
&#160; &#160; &amp;lt;username&amp;gt;admin&amp;lt;/username&amp;gt;
&#160; &#160; &amp;lt;password&amp;gt;topsecret&amp;lt;/password&amp;gt;
&#160; &#160; &amp;lt;tcp-only&amp;gt;false&amp;lt;/tcp-only&amp;gt;
&#160; &#160; &amp;lt;keepalive-delay&amp;gt;0&amp;lt;/keepalive-delay&amp;gt;
&amp;lt;/input&amp;gt;&apos;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;&amp;lt;errors xmlns=&quot;urn:ietf:params:xml:ns:yang:ietf-restconf&quot;&amp;gt; &amp;lt;error&amp;gt; &amp;lt;error-tag&amp;gt;malformed-message&amp;lt;/error-tag&amp;gt; &amp;lt;error-info&amp;gt;The element type &quot;input&quot; must be terminated by the matching end-tag &quot;&amp;amp;lt;/input&amp;amp;gt;&quot;.&amp;lt;/error-info&amp;gt; &amp;lt;error-message&amp;gt;Error parsing input: The element type &quot;input&quot; must be terminated by the matching end-tag &quot;&amp;amp;lt;/input&amp;amp;gt;&quot;.&amp;lt;/error-message&amp;gt; &amp;lt;error-type&amp;gt;protocol&amp;lt;/error-type&amp;gt; &amp;lt;/error&amp;gt; &amp;lt;/errors&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="72446" author="ivanhrasko" created="Tue, 15 Aug 2023 11:59:18 +0000"  >&lt;p&gt;I was able to get:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;2023-08-15T13:42:44,968 | ERROR | CommitFutures-2 &#160;| NetconfTopologyRPCProvider &#160; &#160; &#160; | 281 - org.opendaylight.netconf.topology - 7.0.0.SNAPSHOT | add-netconf-node RPC: Unable to add netconf node.
org.opendaylight.mdsal.common.api.TransactionCommitFailedException: Data did not pass validation for path /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=topology-netconf}]/node/node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=netconf-test-device}] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.ShardDataTree.lambda$processNextPendingTransaction$4(ShardDataTree.java:855) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPending(ShardDataTree.java:884) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPendingTransaction(ShardDataTree.java:831) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.ShardDataTree.startCanCommit(ShardDataTree.java:986) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:99) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.directCommit(FrontendReadWriteTransaction.java:433) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.handleCommitLocalTransaction(FrontendReadWriteTransaction.java:524) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.doHandleRequest(FrontendReadWriteTransaction.java:193) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.FrontendTransaction.handleRequest(FrontendTransaction.java:138) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.AbstractFrontendHistory.handleTransactionRequest(AbstractFrontendHistory.java:122) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.LeaderFrontendState$Enabled.handleTransactionRequest(LeaderFrontendState.java:137) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.Shard.handleRequest(Shard.java:638) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.Shard.handleRequestEnvelope(Shard.java:440) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:368) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:270) ~[bundleFile:?] &#160; &#160; &#160;
at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) ~[bundleFile:?] &#160; &#160; &#160;
at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) ~[bundleFile:?] &#160; &#160; &#160;
at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) ~[bundleFile:?] &#160; &#160; &#160;
at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) ~[bundleFile:?] &#160; &#160; &#160;
at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) ~[bundleFile:?] &#160; &#160; &#160;
at scala.PartialFunction$OrElse.apply(PartialFunction.scala:266) ~[bundleFile:?] &#160; &#160; &#160;
at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) ~[bundleFile:?] &#160; &#160; &#160;
at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) ~[bundleFile:?] &#160; &#160; &#160;
at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) ~[bundleFile:?] &#160; &#160; &#160;
at scala.PartialFunction$OrElse.apply(PartialFunction.scala:266) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:93) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:29) ~[bundleFile:?] &#160; &#160; &#160;
at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) ~[bundleFile:?] &#160; &#160; &#160;
at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) ~[bundleFile:?] &#160; &#160; &#160;
at scala.runtime.AbstractPartialFunction.applyOrElse(AbstractPartialFunction.scala:27) ~[bundleFile:?] &#160; &#160; &#160;
at akka.actor.Actor.aroundReceive(Actor.scala:537) ~[bundleFile:?] &#160; &#160; &#160;
at akka.actor.Actor.aroundReceive$(Actor.scala:535) ~[bundleFile:?] &#160; &#160; &#160;
at akka.persistence.AbstractPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:295) ~[bundleFile:?] &#160; &#160; &#160;
at akka.persistence.Eventsourced$$anon$4.stateReceive(Eventsourced.scala:917) ~[bundleFile:?] &#160; &#160; &#160;
at akka.persistence.Eventsourced.aroundReceive(Eventsourced.scala:245) ~[bundleFile:?] &#160; &#160; &#160;
at akka.persistence.Eventsourced.aroundReceive$(Eventsourced.scala:244) ~[bundleFile:?] &#160; &#160; &#160;
at akka.persistence.AbstractPersistentActor.aroundReceive(PersistentActor.scala:295) ~[bundleFile:?] &#160; &#160; &#160;
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:579) ~[bundleFile:?] &#160; &#160; &#160;
at akka.actor.ActorCell.invoke(ActorCell.scala:547) ~[bundleFile:?] &#160; &#160; &#160;
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270) ~[bundleFile:?] &#160; &#160; &#160;
at akka.dispatch.Mailbox.run(Mailbox.scala:231) ~[bundleFile:?] &#160; &#160; &#160;
at akka.dispatch.Mailbox.exec(Mailbox.scala:243) ~[bundleFile:?] &#160; &#160; &#160;
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] &#160; &#160; &#160;
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] &#160; &#160; &#160;
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] &#160; &#160; &#160;
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] &#160; &#160; &#160;
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]Caused by: org.opendaylight.yangtools.yang.data.tree.api.ModifiedNodeDoesNotExistException: Node /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=topology-netconf}]/node/node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=netconf-test-device}] does not exist. Cannot apply modification to its children. &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:364) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:109) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:415) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:396) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:111) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:415) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:396) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:111) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:415) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:396) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:111) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:415) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:396) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:111) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:415) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:374) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:109) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.yangtools.yang.data.tree.impl.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:37) ~[bundleFile:?] &#160; &#160; &#160;
at org.opendaylight.controller.cluster.datastore.ShardDataTree.lambda$processNextPendingTransaction$4(ShardDataTree.java:838) ~[bundleFile:?] &#160; &#160;... 46 more&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="72451" author="ivanhrasko" created="Wed, 16 Aug 2023 15:11:52 +0000"  >&lt;p&gt;I have changed operation but then I got another exception: &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/netconf/+/107439&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/netconf/+/107439&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="72454" author="ivanhrasko" created="Thu, 17 Aug 2023 07:08:44 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=rkashapov&quot; class=&quot;user-hover&quot; rel=&quot;rkashapov&quot;&gt;rkashapov&lt;/a&gt; It means that I was not able to reproduce original error as reported -&#160; I have just ended up with validation errors before and after my patch &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/biggrin.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;.&lt;/p&gt;

&lt;p&gt;Interesting is that netcof codebase definitely contains some logic which writes nodes into datastore - but OPERATIONAL one. Please check - IIRC netconf-topology.&lt;/p&gt;</comment>
                            <comment id="72455" author="ivanhrasko" created="Thu, 17 Aug 2023 09:06:22 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=rkashapov&quot; class=&quot;user-hover&quot; rel=&quot;rkashapov&quot;&gt;rkashapov&lt;/a&gt; the probable problem here is that config data for topology does not exists and ensure parents is probably not a solution/working anymore?&lt;/p&gt;</comment>
                            <comment id="72456" author="JIRAUSER13318" created="Thu, 17 Aug 2023 22:30:36 +0000"  >&lt;p&gt;&lt;tt&gt;mergeParentStructureMerge&lt;/tt&gt; &amp;amp; &lt;tt&gt;mergeParentStructurePut&lt;/tt&gt; don&apos;t seem to work for Augmentation which &lt;tt&gt;NetconfNode&lt;/tt&gt; is and this probably is a fallout of &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-820&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;MDSAL-820&lt;/a&gt;.&lt;br/&gt;
It appears that we can sidestep this issue if &lt;a href=&quot;https://github.com/opendaylight/netconf/blob/master/apps/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/NetconfTopologyRPCProvider.java#L139&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mergeParentStructureMerge&lt;/a&gt; is done with &lt;tt&gt;topology.Node&lt;/tt&gt; wrapping &lt;tt&gt;NetconfNode&lt;/tt&gt; instead of &lt;tt&gt;NetconfNode&lt;/tt&gt; although this wouldn&apos;t address the root cause.&lt;br/&gt;
The reason why &lt;tt&gt;mergeParentStructurePut&lt;/tt&gt; works for &lt;tt&gt;OPERATIONAL&lt;/tt&gt; in &lt;tt&gt;NetconfDeviceTopologyAdapter&lt;/tt&gt; is because &lt;tt&gt;topology.Node&lt;/tt&gt; is created when &lt;a href=&quot;https://github.com/opendaylight/netconf/blob/master/apps/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/NetconfDeviceTopologyAdapter.java#L71&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;NetconfDeviceTopologyAdapter is created&lt;/a&gt;, so the parent of &lt;tt&gt;NetconfNode&lt;/tt&gt; is already available when it&apos;s updated.&lt;/p&gt;</comment>
                            <comment id="72510" author="JIRAUSER13216" created="Tue, 29 Aug 2023 15:18:16 +0000"  >&lt;p&gt;confirmed: the issue is cause by usage of augmentation node with direct instance identifier in merge operation .&lt;/p&gt;

&lt;p&gt;mdsal instance identifier was updated to point augmentation target node bc augmentation node is no longer exists in normalized data structure.&lt;/p&gt;

&lt;p&gt;once updated to use target node instead of augmentation the issue is no longer reproducible&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/netconf/+/107555&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/netconf/+/107555&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="36806">MDSAL-820</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="19017" name="karaf netconf-6.0.x.log" size="8656954" author="yaroslav.lastivka" created="Fri, 11 Aug 2023 12:38:05 +0000"/>
                            <attachment id="19016" name="karaf netconf-master(7.0.x).log" size="3204759" author="yaroslav.lastivka" created="Fri, 11 Aug 2023 12:33:27 +0000"/>
                    </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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i045v3:</customfieldvalue>

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