You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To synchronize access to persisted cache cross-process lock is used, it is based on OS level file locks.
File locks are not 100% reliable load on Unix based OS – Mac + Linux.
Taking to account that file lock based cross-process locks are already used in prod by .NET extension lib on Mac – changing file lock implementation is problematic.
Race conditions (as result of unreliable nature of file locks on mac + Linux) are observed only under stress testing, not under normal load.
Stress testing data shows that percentage of lost updates is under % 2 on Mac.
It was decided to keep using file lock based cross platform lock + make sure that MSAL + MSAL extension SDK is resilient to possible race conditions.
Race conditions effects + mitigation approaches