Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-1334

UnsupportedOperationException occurred in data change event listener

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • mdsal
    • None
    • Operating System: All
      Platform: All

    • 3344

    Description

      I'm using a controller built on the latest code on the master branch of the integration.git.
      It means that I'm using artifacts for Lithium release.

      When I connected OpenDaylight Controller to OpenFlow switches, I observed UnsupportedOperationException occurred on a thread calling AsyncDataChangeEvent.getCreatedData().

      java.lang.UnsupportedOperationException: \
      Could not create Binding data representation for root \
      at org.opendaylight.yangtools.binding.data.codec.impl.SchemaRootCodecContext.deserialize(SchemaRootCodecContext.java:154)[106:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]

      At this time, inventory-manager updated nodes information.
      As the result, a data change event (AsyncDataChangeEvent) happened, and then the above exception occurred.

      I've never observed this exception before 05/20, but I frequently observed this exception after 05/20.

      Error message on karaf.log
      ==========================

      2015-05-22 05:22:57,442 | ERROR | ult-dispatcher-4 | NodeListener | 345 - org.opendaylight.vtn.manager.implementation - 0.3.0.SNAPSHOT | Unexpected exception in data change event listener.
      java.lang.UnsupportedOperationException: Could not create Binding data representation for root
      at org.opendaylight.yangtools.binding.data.codec.impl.SchemaRootCodecContext.deserialize(SchemaRootCodecContext.java:154)[106:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
      at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.fromNormalizedNode(BindingNormalizedNodeCodecRegistry.java:190)[106:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:194)[157:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:80)[157:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:164)[157:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
      at org.opendaylight.vtn.manager.internal.util.AbstractDataChangeListener.onDataChanged(AbstractDataChangeListener.java:301)[345:org.opendaylight.vtn.manager.implementation:0.3.0.SNAPSHOT]
      at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:134)[157:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)[179:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.DataChangeListener.handleReceive(DataChangeListener.java:39)[179:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)[171:org.opendaylight.controller.sal-clustering-commons:1.2.0.SNAPSHOT]
      at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[164:com.typesafe.akka.actor:2.3.10]
      at akka.actor.Actor$class.aroundReceive(Actor.scala:467)[164:com.typesafe.akka.actor:2.3.10]
      at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)[164:com.typesafe.akka.actor:2.3.10]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[164:com.typesafe.akka.actor:2.3.10]
      at akka.actor.ActorCell.invoke(ActorCell.scala:487)[164:com.typesafe.akka.actor:2.3.10]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)[164:com.typesafe.akka.actor:2.3.10]
      at akka.dispatch.Mailbox.run(Mailbox.scala:221)[164:com.typesafe.akka.actor:2.3.10]
      at akka.dispatch.Mailbox.exec(Mailbox.scala:231)[164:com.typesafe.akka.actor:2.3.10]
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]

      Attachments

        Issue Links

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

          Activity

            People

              tony.tkacik@gmail.com Tony Tkacik
              Hideyuki1985 Hideyuki Tai
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: