Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
Boron
-
None
-
None
-
Operating System: All
Platform: All
-
7530
Description
onPacketReceived is doing 3 operations in a single job.
1) Updates a MacEntry data structure per interface name.
2) Updates a MacEntry data structure which is global.
3) Install flows into a DPN.
The key to lock this job is MAC + ELAN, which is too coarse for this operations. Operation 1 and 3 could have being done with a fined-grained key that includes the DPNID too.
The suggested solution is to split this into 2 jobs, one for tasks 1 and 3 with a lock that includes DPNID and another job for task 2 with the current lock.
In a scale scenario with 180 Computes and 16GB heap, the pending jobs didn't converge and caused Full GC because the flows are installed sequentially to each OVS instead of being installed concurrently.