-
Bug
-
Resolution: Done
-
None
-
unspecified
-
None
-
Operating System: All
Platform: All
-
8257
We are testing the stability of the system when we have 1000 local ucast macs behind the device.
And we are doing delete and add connections repeatedly ( Though it is not realistic scenario, it is exposing the race conditions in plugin ).
Now to reproduce this enable TRACE logging so that it slows down the system to an extent.
Create l2gw connection.
pump 1000 macs from the device and gets injected into op datastore.
Delete l2gw connection.
Plugin Deletes the logical switch and local ucast macs from device.
Device sends back withdraw of 1000 macs events.
They are pushed into queue for processing.
Device sends deleted logical switch event.
This event also is pushed into queue for processing to delete from oper datastore ( queue is already holding 1000 events ).
Now from northbound create l2gw connection.
Plugin sees that logical switch is already there in oper datastore and skips sending create of logical swith.
This is the problem we are trying to fix, by holding this create logical switch event , until the earlier life cycle of delete logical switch is finished ( which gets finished after processing that 1001 st event in the queue ).
The similar argument applies to the other ucast and mcast aswell.
Earlier only mcast update was made part of this life cycle.