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

DataUpdates not propogating after addition of new bundle

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Resolution: Won't Do
    • None
    • None
    • mdsal
    • None
    • Operating System: Mac OS
      Platform: PC

    Description

      When building the openflowplugin/openflowplugin-parent
      and then attempting to run the resulting controller in openflowplugin/distributions/base attempts to run mininet as described here:

      https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin::End_to_End_Inventory

      Do not work. They do work one commit back (on the current master on openflowplugin). I suspect we are hitting an MD-SAL bug.

      The offending patch is here: https://git.opendaylight.org/gerrit/#/c/2887/
      Its a very simple attempt to listen for all notifications and all data changes for purposes of debugging.

      There suspected Exception thrown on the console is:

      2013-11-19 19:55:17.360 CST [pool-16-thread-2] ERROR o.o.c.m.s.c.i.service.TwoPhaseCommit - Finish Commit failed
      java.lang.NullPointerException: null
      at org.opendaylight.controller.sal.dom.broker.impl.DataUtils.merge(DataUtils.java:42) ~[na:na]
      at org.opendaylight.controller.sal.dom.broker.impl.DataUtils.read(DataUtils.java:34) ~[na:na]
      at org.opendaylight.controller.sal.dom.broker.impl.HashMapDataStore.readOperationalData(HashMapDataStore.java:42) ~[na:na]
      at org.opendaylight.controller.sal.dom.broker.impl.HashMapDataStore.readOperationalData(HashMapDataStore.java:20) ~[na:na]
      at org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter$2.apply(AbstractDataReadRouter.java:78) ~[bundlefile:na]
      at org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter$2.apply(AbstractDataReadRouter.java:75) ~[bundlefile:na]
      at com.google.common.collect.Iterators$8.transform(Iterators.java:860) ~[bundlefile:na]
      at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[bundlefile:na]
      at org.opendaylight.controller.sal.dom.broker.impl.DataReaderRouter.merge(DataReaderRouter.java:15) ~[na:na]
      at org.opendaylight.controller.sal.dom.broker.impl.DataReaderRouter.merge(DataReaderRouter.java:8) ~[na:na]
      at org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter.readOperationalData(AbstractDataReadRouter.java:39) ~[bundlefile:na]
      at org.opendaylight.controller.md.sal.common.impl.service.AbstractDataBroker.readOperationalData(AbstractDataBroker.java:114) ~[bundlefile:na]
      at org.opendaylight.controller.sal.dom.broker.DataBrokerImpl.readOperationalData(DataBrokerImpl.java:14) ~[na:na]
      at org.opendaylight.controller.sal.dom.broker.osgi.DataProviderServiceProxy.readOperationalData(DataProviderServiceProxy.java:33) ~[na:na]
      at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentDataServiceConnector.readOperationalData(BindingIndependentDataServiceConnector.java:43) ~[na:na]
      at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentDataServiceConnector.readOperationalData(BindingIndependentDataServiceConnector.java:27) ~[na:na]
      at org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter$2.apply(AbstractDataReadRouter.java:78) ~[bundlefile:na]
      at org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter$2.apply(AbstractDataReadRouter.java:75) ~[bundlefile:na]
      at com.google.common.collect.Iterators$8.transform(Iterators.java:860) ~[bundlefile:na]
      at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[bundlefile:na]
      at org.opendaylight.controller.sal.binding.impl.util.BindingAwareDataReaderRouter.merge(BindingAwareDataReaderRouter.java:12) ~[na:na]
      at org.opendaylight.controller.sal.binding.impl.util.BindingAwareDataReaderRouter.merge(BindingAwareDataReaderRouter.java:8) ~[na:na]
      at org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter.readOperationalData(AbstractDataReadRouter.java:39) ~[bundlefile:na]
      at org.opendaylight.controller.md.sal.common.impl.service.AbstractDataBroker.readOperationalData(AbstractDataBroker.java:114) ~[bundlefile:na]
      at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.publishDataChangeEvent(TwoPhaseCommit.java:112) [bundlefile:na]
      at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:92) [bundlefile:na]
      at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:30) [bundlefile:na]
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) ~[na:1.7.0_25]
      at java.util.concurrent.FutureTask.run(FutureTask.java:166) ~[na:1.7.0_25]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_25]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_25]
      at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]

      Note: here is the git log -3 for both openflowplugin and controller to assist in debugging:

      Macintosh-3:openflowplugin hagbard$ git log -3
      commit 38231f27b365930bf37aff6d3a6d17a5a8b60868
      Author: Ed Warnicke <eaw@cisco.com>
      Date: Tue Nov 19 19:23:28 2013 -0600

      DO NOT MERGE - For Debugging Purposes only

      Added DebugProvider that outputs log messgae on on notifications
      and DataChange events.

      The only change is the addition of this bundle, and the
      inventory nodes/node is no longer showing up in RESTCONF.

      Change-Id: I951d182648707d28f62b0df94866c43cfdbb8c1b
      Signed-off-by: Ed Warnicke <eaw@cisco.com>

      commit f202033c27407de2a26140744fa5bff152dc377a
      Author: Ed Warnicke <eaw@cisco.com>
      Date: Mon Nov 18 18:37:17 2013 -0600

      Added PopListner for PacketIn

      Change-Id: I4927d1a1215e021a9a3c7eea3c26c9a37fc4af92
      Signed-off-by: Ed Warnicke <eaw@cisco.com>

      commit 2a47de8380b599a20d8577b7f265b7d8b84fd020
      Author: Michal Rehak <mirehak@cisco.com>
      Date: Thu Nov 14 18:52:32 2013 +0100

      popListener mapping

      fixed sample - rpc return types
      minor code tidyup

      Change-Id: I9ed2d55bb07ad4442343141bc7594924e56630cc
      Signed-off-by: Michal Rehak <mirehak@cisco.com>

      ****************************

      Macintosh-3:controller hagbard$ git log -3
      commit 4e6f0838e508e0dce5dfa62faa29b43e979f5ef8
      Merge: d490a11 027e02f
      Author: Ed Warnicke <eaw@cisco.com>
      Date: Tue Nov 19 20:07:20 2013 +0000

      Merge "Ganymed ChannelManager hack for subsystem command"

      commit d490a11b531a724b9f46ca931b2c98e9527dde7f
      Merge: 6ad5abb d8654e1
      Author: Ed Warnicke <eaw@cisco.com>
      Date: Tue Nov 19 19:34:22 2013 +0000

      Merge "AbstractConfigTest - exposed BundleContext and ServiceRegistration mock."

      commit 6ad5abbd24e3c0369df81955ba099135c782d1d3
      Merge: d6caaf8 9ba0bf6
      Author: Ed Warnicke <eaw@cisco.com>
      Date: Tue Nov 19 19:23:40 2013 +0000

      Merge "Fixed quotation mark in action-types.yang"

      ********************

      And the current latest merge on yangtools is here: https://git.opendaylight.org/gerrit/#/c/2865/

      Attachments

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

        Activity

          People

            Unassigned Unassigned
            hagbard Ed Warnicke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: