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

After controller reboot, applications don't receive data change notification with the blob of persisted config data

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • Beryllium
    • clustering
    • None
    • Operating System: All
      Platform: All

    • 4179

      As per my understanding, when controller restarts, application subscribed for data change notification should get a notification with a blob of data that was persisted before the shutdown. OVSDB southbound plugins is not getting the data change notification with the persisted config data after controller reboots.

      Following are the easy steps that you can use to recreate the issues, but i believe you can try with any yang model and probably see the same issue (although i didn't try it ).

      1) git clone https://git.opendaylight.org/gerrit/ovsdb.git
      2) cd ovsdb
      3) mvn clean install -DskipTests
      4) cd ./karaf/target/assembly/bin
      5) ./karaf debug
      6) wait for controller console to come up
      7) karaf#> log:set TRACE org.opendaylight.ovsdb.southbound.OvsdbDataChangeListener

      8) wait for all the ovsdb component to come up, you will see "triggerUpdate()" line in the log file.
      9)Fire following PUT restconf request to the controller (url and body are in following gist link)
      https://gist.github.com/vishnoianil/3ed803e9fb7e56d29a63

      10) Once you PUT this restconf request, you should see data change dump in the log. Something like this
      https://gist.github.com/vishnoianil/c8204224ab30d06ee408

      11) Now reboot the controller and you won't see any dump from data change notificaiton.

      12) BUT you will see data still persist in the config data store. You can fire following restconf request to get the data

      GET: http://localhost:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1

      13) This is how we are doing the registration:
      https://github.com/opendaylight/ovsdb/blob/master/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbDataChangeListener.java#L55

      14) This is where ovsdb is dumping the data change notification data:
      https://github.com/opendaylight/ovsdb/blob/master/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbDataChangeListener.java#L72

      I am attaching the log for your reference.

      karaf.first.start.log – contains log from the first start and adding one entry to config data store
      karaf.reboot.log – contains log after reboot.

      Let me know if you need more data or live debug this issue.

            Unassigned Unassigned
            Avishnoi Anil Vishnoi
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: