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

ClassCastException when accessing augmentations

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Medium
    • Resolution: Done
    • None
    • Fluorine, Oxygen SR3
    • None
    • None

    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]

      Attachments

        1. karaf.log
          351 kB
          Claudio David Gasparini

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: