Uploaded image for project: 'mdsal'
  1. mdsal
  2. MDSAL-328

ClassCastException when accessing augmentations

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Fluorine, Oxygen SR3
    • None
    • None
    • None

      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]

            rovarga Robert Varga
            cdgasparini Claudio David Gasparini
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: