[NETVIRT-632] Rework busy lock when allocating id's Created: 25/Apr/17 Updated: 19/Oct/17 Resolved: 09/Jul/17 |
|
| Status: | Resolved |
| Project: | netvirt |
| Component/s: | General |
| Affects Version/s: | Carbon |
| Fix Version/s: | None |
| Type: | Improvement | ||
| Reporter: | Sam Hague | Assignee: | Unassigned |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Description |
|
Messages from Koby and Peri: Koby: Another thought here - even if we fix the root cause, I think we must remove this busy loop. This totally breaks the system when occurring Looks like this issue occurred when an idKey is not unlocked accidentally in IdManager which leads to LockManager#lock goes into busy spin. But this is a corner case due to a bug. We could avoid it by thread wait/notify by Async Clustered DTCN on lock (since lock is stored in MD-SAL), upon remove DCN, waiting threads can be notified for the particular lock. Not sure its worth to do it now and should be done as an enhancement since it needs more testing effort. |