microsoft / FASTER

Fast persistent recoverable log and key-value store + cache, in C# and C++.
https://aka.ms/FASTER
MIT License
6.29k stars 563 forks source link

[C#] Clarify and enforce BumpEpoch protection assumptions #892

Closed tli2 closed 5 months ago

tli2 commented 9 months ago

Revise BumpEpoch to accommodate calling from both protected and unprotected contexts. Revise FasterLog completion logic to avoid epoch double-protect. From now on, users should assume that any trigger action associated with BumpEpoch will execute on a protected thread after it is safe. Caller thread of BumpEpoch can be either protected or unprotected.

fix #872