Bug 8197: Deregister schema sources on actor stop 81/55981/3
authorAndrej Mak <andrej.mak@pantheon.tech>
Mon, 24 Apr 2017 13:08:27 +0000 (15:08 +0200)
committerAndrej Mak <andrej.mak@pantheon.tech>
Thu, 27 Apr 2017 09:20:40 +0000 (09:20 +0000)
commit8f72e44079758db1b2ce0db1e02f9e7a3f90a13c
treef2bacfac1f52da541bf381f2aa14fb64e8f5b212
parent6dac6a4e74b9ce8a2185b3a810d7f902c81d58fe
Bug 8197: Deregister schema sources on actor stop

NetconfNodeActor registers schema source provider
to schema registry. When mountpoint is removed, this
registration should be removed too. If it isn't,
following issue can happen:

1. Create mountpoint for device1
2. Master actor for device1 is registered as mod-1.yang provider
3. Delete device1
4. Create mountpoint for device2
5. Master actor for device2 is registered as mod-1.yang provider
6. Register slave -
   schemaContextFactory.createSchemaContext(sourceIdentifiers)
   is called
7. Since dead device1 master is still registered as provider,
   ask in ProxyYangTextSourceProvider timeouts
8. After timeout device2 master is queried
9. Device 2 slave mountpoint registered

This delays slave mountpoint registration.

Change-Id: I060c8b1988ba7b54f9a93d7eb37adb5c5e48b23b
Signed-off-by: Andrej Mak <andrej.mak@pantheon.tech>
netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/NetconfNodeActor.java
netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeActorTest.java