Topology Manager to skip redundant edge updates 23/1623/1
authorAlessandro Boch <aboch@cisco.com>
Wed, 2 Oct 2013 21:22:38 +0000 (14:22 -0700)
committerAlessandro Boch <aboch@cisco.com>
Wed, 2 Oct 2013 21:31:07 +0000 (14:31 -0700)
commitb14a280bf25b8fc7e0d8d04bd1c43c49987a583b
tree71b1f39ab8c5b87eb28dbc514d5f8ddbba0debf9
parent6a5de1746ad68b1fe9464ec414126f1b559737e2
Topology Manager to skip redundant edge updates

ISSUE: In a cluster of controllers when one controller is brought down, when the switches
that were actively controlled by this node switch-over to another node in the cluster, on the
new node Connection Manager let openflow plugin Controller know the cluster view has changed.
OF plugin Controller then replay the switch added event for all the local tcp conencted
switches to InventoryShim. InventoryShim checks with CM service if the switches are now
to be considered local to this controller, they are, so it updates inventory service listeners
inside OF plugin (these are cluster unaware classes which need to know the switch is there now,
like data packet serv, discovery, of stats mgr, ...). These moduels inside the plugin during their
processing because this (to them) newly added switches generate notifications toward SAL in their
respective service. Listeners above SAL are cluster aware, they are already aware of those switches,
their properties and edges and so on, they should discard these updates. But in most of the cases
they don't, they accept these redundant updates upfront. As a consequence they generate unnecessary
updates toward their service listeners, causing unnecessary chains of events and recomputations.

CHANGE: This change is to fix the above issue in the topology service, in topology manager bundle.

Change-Id: I04d1fa81758238dfb9ada9940abc3d07ed1fc9cb
Signed-off-by: Alessandro Boch <aboch@cisco.com>
opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java