[MDSAL-328] ClassCastException when accessing augmentations Created: 22/Mar/18  Updated: 21/Jun/18  Resolved: 21/Jun/18

Status: Resolved
Project: mdsal
Component/s: None
Affects Version/s: None
Fix Version/s: Fluorine, Oxygen SR3

Type: Bug Priority: Medium
Reporter: Claudio David Gasparini Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File karaf.log    
Issue Links:
Relates
relates to OPNFLWPLUG-1019 openflowplugin-extension-nicira-match... Resolved

 Description   

Using Port configuration for Peer Group under XML config file at the first run of KARAF will end on Cast Exception, when receiving onDataTreeChanged notification.

On the other side if the configuration is used once karaf is already running, no cast exception will be trowed.

Line causing the exception is the getAugmantation

 

 
if (config != null) {
    final NeighborTransportConfig peerTc = config.getAugmentation(NeighborTransportConfig.class);   <----Line 156
    ....
    ....

 

2018-03-22 08:38:33,898 | ERROR | on-dispatcher-45 | DataTreeChangeListenerActor | 250 - org.opendaylight.controller.sal-clustering-commons - 1.8.0.SNAPSHOT | member-1-shard-default-config: Error notifying listener org.opendaylight.controller.cluster.databroker.compat.LegacyDOMDataBrokerAdapter$2$$Lambda$1065/1620722541@7125d1ae
java.lang.ClassCastException: com.sun.proxy.$Proxy241 cannot be cast to org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180321.NeighborTransportConfig
at org.opendaylight.protocol.bgp.rib.impl.config.OpenConfigMappingUtil.getPort(OpenConfigMappingUtil.java:156) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.OpenConfigMappingUtil.getPort(OpenConfigMappingUtil.java:387) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.<init>(BgpPeer.java:271) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.<init>(BgpPeer.java:216) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer.start(BgpPeer.java:136) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.initiatePeerInstance(BGPClusterSingletonService.java:332) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborCreated(BGPClusterSingletonService.java:259) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborModified(BGPClusterSingletonService.java:242) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborsChanged(BGPClusterSingletonService.java:230) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.onNeighborsChanged(BgpDeployerImpl.java:208) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.onDataTreeChanged(BgpDeployerImpl.java:138) ~[212:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:42) ~[244:org.opendaylight.controller.sal-binding-broker-impl:1.8.0.SNAPSHOT]
at org.opendaylight.controller.cluster.databroker.compat.LegacyDOMDataBrokerAdapter$2.lambda$registerDataTreeChangeListener$0(LegacyDOMDataBrokerAdapter.java:105) ~[257:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67) [257:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41) [257:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38) [250:org.opendaylight.controller.sal-clustering-commons:1.8.0.SNAPSHOT]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:166) [82:com.typesafe.akka.actor:2.5.4]
at akka.actor.Actor.aroundReceive(Actor.scala:514) [82:com.typesafe.akka.actor:2.5.4]
at akka.actor.Actor.aroundReceive$(Actor.scala:512) [82:com.typesafe.akka.actor:2.5.4]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:96) [82:com.typesafe.akka.actor:2.5.4]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527) [82:com.typesafe.akka.actor:2.5.4]
at akka.actor.ActorCell.invoke(ActorCell.scala:496) [82:com.typesafe.akka.actor:2.5.4]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [82:com.typesafe.akka.actor:2.5.4]
at akka.dispatch.Mailbox.run(Mailbox.scala:224) [82:com.typesafe.akka.actor:2.5.4]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [82:com.typesafe.akka.actor:2.5.4]
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [82:com.typesafe.akka.actor:2.5.4]
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [82:com.typesafe.akka.actor:2.5.4]
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [82:com.typesafe.akka.actor:2.5.4]
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [82:com.typesafe.akka.actor:2.5.4]



 Comments   
Comment by Claudio David Gasparini [ 22/Mar/18 ]

Steps 

Comment by Claudio David Gasparini [ 22/Mar/18 ]

maybe introduce by 

https://git.opendaylight.org/gerrit/#/c/50269/

Comment by Tom Pantelis [ 22/Mar/18 ]

That link doesn't exist - don't know which patch you mean. I suspect this is related to the recent yangtools bump.

Comment by Claudio David Gasparini [ 22/Mar/18 ]

link updated

Comment by Tom Pantelis [ 22/Mar/18 ]

I don't see where that patch could be the culprit. Why do you think it is? As mentioned, this seems much more likely related to yangtools/mdsal changes - getAugmentation is generated code which is the binding layer, CDS is DOM. LegacyDOMDataBrokerAdapter was added by my patch but it shows up in the trace b/c the error was generated via a DTCL notification.

Comment by Claudio David Gasparini [ 23/Mar/18 ]

tpantelis Thanks Tom, I ll move it to  MD SAL, for me is not clear where is this issue coming from.

Regards, 

Comment by Robert Varga [ 13/Jun/18 ]

This looks very weird, https://git.opendaylight.org/gerrit/#/c/72961/ adds some more debugs.

Comment by Robert Varga [ 13/Jun/18 ]

Please re-run with https://git.opendaylight.org/gerrit/#/c/72961/, there should we warnings preceding the ClassCastException.

Comment by Claudio David Gasparini [ 13/Jun/18 ]
2018-06-13 19:27:44,484 | WARN | on-dispatcher-51 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | Returning object PeerGroupTransportConfig{getRemotePort=PortNumber{_value=179}} class class com.sun.proxy.$Proxy182 does not implement required augmentation interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.NeighborTransportConfig
2018-06-13 19:27:44,485 | WARN | on-dispatcher-51 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | Superclass: class java.lang.reflect.Proxy
2018-06-13 19:27:44,486 | WARN | on-dispatcher-51 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | Implemented interfaces: [interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.PeerGroupTransportConfig, interface org.opendaylight.yangtools.yang.binding.AugmentationHolder]
2018-06-13 19:27:44,487 | WARN | on-dispatcher-51 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | This LDO: Config{isMtuDiscovery=false, isPassiveMode=true, augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.PeerGroupTransportConfig=PeerGroupTransportConfig{getRemotePort=PortNumber{_value=179}}}}
2018-06-13 19:27:44,501 | WARN | on-dispatcher-51 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | This NN: ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)config, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)mtu-discovery, value=false, attributes={}}, ImmutableAugmentationNode{nodeIdentifier=AugmentationIdentifier{childNames=[(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)remote-port]}, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)remote-port, value=179, attributes={}}]}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)passive-mode, value=true, attributes={}}], attributes={}}
2018-06-13 19:27:44,502 | WARN | on-dispatcher-51 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | Dynamic proxy handler: org.opendaylight.mdsal.binding.dom.codec.impl.LazyDataObject@594dfee1
2018-06-13 19:27:44,503 | ERROR | on-dispatcher-51 | DataTreeChangeListenerActor | 261 - org.opendaylight.controller.sal-clustering-commons - 1.8.0.SNAPSHOT | member-1-shard-default-config: Error notifying listener org.opendaylight.controller.cluster.databroker.compat.LegacyDOMDataBrokerAdapter$2$$Lambda$1094/864549882@66ec700d
java.lang.ClassCastException: com.sun.proxy.$Proxy182 cannot be cast to org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.NeighborTransportConfig
at org.opendaylight.protocol.bgp.rib.impl.config.OpenConfigMappingUtil.getPort(OpenConfigMappingUtil.java:158) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]

Comment by Robert Varga [ 13/Jun/18 ]

So NeighborTransportConfig and PeerGroupTransportConfig are being confused. I'll take a peek at why is that.

Comment by Robert Varga [ 14/Jun/18 ]
--- target/generated-sources/mdsal-binding/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/bgp/openconfig/extensions/rev180329/NeighborTransportConfig.java    2018-06-14 10:42:11.311592335 +0200
+++ target/generated-sources/mdsal-binding/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/bgp/openconfig/extensions/rev180329/PeerGroupTransportConfig.java   2018-06-14 10:42:11.328592412 +0200
@@ -3,7 +3,7 @@
 import org.opendaylight.yangtools.yang.binding.Augmentation;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 
-public interface NeighborTransportConfig
+public interface PeerGroupTransportConfig
     extends
     DataObject,
     Augmentation<Config>,

and

package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbor.group.transport.Config;
import org.opendaylight.yangtools.yang.binding.Augmentation;
import org.opendaylight.yangtools.yang.binding.DataObject;

public interface NeighborTransportConfig
    extends
    DataObject,
    Augmentation<Config>,
    TransportConfig
{





}

i.e. both are augmentations of the same grouping, albeit different instantiations of it. I am not sure what we can do about this, as bindign does not differentiate between grouping instantiations. I suggest eliminating one of them and treating them as equivalent.

 

Comment by Robert Varga [ 14/Jun/18 ]

Given the context where this is used, it should be sufficient to receive TransportConfig interface, which makes it oblivious to the actual augment – which should unblock you.

Comment by Robert Varga [ 14/Jun/18 ]

Claudio, the way I am reading this right, internal state is correct and LazyDataObject should be returning null here. Can you confirm?

Comment by Claudio David Gasparini [ 14/Jun/18 ]

Yes, I expect a null to be received.

 

final NeighborTransportConfig peerTc = config.augmentation(NeighborTransportConfig.class);
if (peerTc != null) {
    return peerTc.getRemotePort();
}
final PeerGroupTransportConfig peerGroupTc = config.augmentation(PeerGroupTransportConfig.class);
if (peerGroupTc != null) {
    return peerGroupTc.getRemotePort();
}

I will give a try to remove one, but I think I already try that, and it was an issue when trying to add it later. I'll check it again and provide you some feeback. 

Comment by Claudio David Gasparini [ 14/Jun/18 ]

provided bgp patch, solves BGP side issues. therefore this is not longer a blocker for us. 

Thanks

Comment by Claudio David Gasparini [ 15/Jun/18 ]
2018-06-15 13:20:04,564 | WARN | on-dispatcher-46 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | Returning object PeerGroupTransportConfig{getRemotePort=PortNumber{_value=179}} class class com.sun.proxy.$Proxy271 does not implement required augmentation interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.NeighborTransportConfig
java.lang.Throwable: null
at org.opendaylight.mdsal.binding.dom.codec.impl.LazyDataObject.verifyAugmentationObject(LazyDataObject.java:210) ~[280:org.opendaylight.mdsal.binding-dom-codec:0.13.0.SNAPSHOT]
at org.opendaylight.mdsal.binding.dom.codec.impl.LazyDataObject.getAugmentationImpl(LazyDataObject.java:196) ~[280:org.opendaylight.mdsal.binding-dom-codec:0.13.0.SNAPSHOT]
at org.opendaylight.mdsal.binding.dom.codec.impl.LazyDataObject.invoke(LazyDataObject.java:73) ~[280:org.opendaylight.mdsal.binding-dom-codec:0.13.0.SNAPSHOT]
at com.sun.proxy.$Proxy264.augmentation(Unknown Source) ~[?:?]
at org.opendaylight.protocol.bgp.rib.impl.config.OpenConfigMappingUtil.getPort(OpenConfigMappingUtil.java:158) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.OpenConfigMappingUtil.getPort(OpenConfigMappingUtil.java:426) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.<init>(BgpPeer.java:279) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.<init>(BgpPeer.java:218) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer.start(BgpPeer.java:138) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.initiatePeerInstance(BGPClusterSingletonService.java:343) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborCreated(BGPClusterSingletonService.java:264) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborModified(BGPClusterSingletonService.java:247) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborsChanged(BGPClusterSingletonService.java:235) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.onNeighborsChanged(BgpDeployerImpl.java:207) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.onDataTreeChanged(BgpDeployerImpl.java:137) ~[224:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:42) ~[256:org.opendaylight.controller.sal-binding-broker-impl:1.8.0.SNAPSHOT]
at org.opendaylight.controller.cluster.databroker.compat.LegacyDOMDataBrokerAdapter$2.lambda$registerDataTreeChangeListener$0(LegacyDOMDataBrokerAdapter.java:102) ~[269:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67) [269:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41) [269:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38) [261:org.opendaylight.controller.sal-clustering-commons:1.8.0.SNAPSHOT]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) [78:com.typesafe.akka.actor:2.5.11]
at akka.actor.Actor.aroundReceive(Actor.scala:517) [78:com.typesafe.akka.actor:2.5.11]
at akka.actor.Actor.aroundReceive$(Actor.scala:515) [78:com.typesafe.akka.actor:2.5.11]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) [78:com.typesafe.akka.actor:2.5.11]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590) [78:com.typesafe.akka.actor:2.5.11]
at akka.actor.ActorCell.invoke(ActorCell.scala:559) [78:com.typesafe.akka.actor:2.5.11]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [78:com.typesafe.akka.actor:2.5.11]
at akka.dispatch.Mailbox.run(Mailbox.scala:224) [78:com.typesafe.akka.actor:2.5.11]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [78:com.typesafe.akka.actor:2.5.11]
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [78:com.typesafe.akka.actor:2.5.11]
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [78:com.typesafe.akka.actor:2.5.11]
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [78:com.typesafe.akka.actor:2.5.11]
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [78:com.typesafe.akka.actor:2.5.11]
2018-06-15 13:20:04,569 | INFO | rint Extender: 1 | TldScanner | 363 - org.ops4j.pax.web.pax-web-jsp - 6.0.9 | found TLD bundleresource://363.fwk2101153819/META-INF/c-1_0.tld
2018-06-15 13:20:04,856 | WARN | on-dispatcher-46 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | Superclass: class java.lang.reflect.Proxy
2018-06-15 13:20:04,856 | WARN | on-dispatcher-46 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | Implemented interfaces: [interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.PeerGroupTransportConfig, interface org.opendaylight.yangtools.yang.binding.AugmentationHolder]
2018-06-15 13:20:04,856 | WARN | on-dispatcher-46 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | This LDO: Config{isMtuDiscovery=false, isPassiveMode=true, augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.PeerGroupTransportConfig=PeerGroupTransportConfig{getRemotePort=PortNumber{_value=179}}}}
2018-06-15 13:20:04,857 | WARN | on-dispatcher-46 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | This NN: ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)config, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)mtu-discovery, value=false, attributes={}}, ImmutableAugmentationNode{nodeIdentifier=AugmentationIdentifier{childNames=[(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)remote-port]}, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)remote-port, value=179, attributes={}}]}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2018-03-29)passive-mode, value=true, attributes={}}], attributes={}}
2018-06-15 13:20:04,857 | WARN | on-dispatcher-46 | LazyDataObject | 280 - org.opendaylight.mdsal.binding-dom-codec - 0.13.0.SNAPSHOT | Dynamic proxy handler: org.opendaylight.mdsal.binding.dom.codec.impl.LazyDataObject@758cd40e

Comment by Robert Varga [ 15/Jun/18 ]

So it's the secondary resolution pass which needs to re-validate whether the result it got from possibleStreamChild() actually conforms to what we're looking for.

Generated at Wed Feb 07 20:09:32 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.