Open
Description
During our work on the event cache store, we have worked on improving the event cache store to introduce lock
and lock_unchecked
with the notion of a poison. If a lock has been taken by another process, the lock is poisoned and returned an error. This is helpful to know when to refresh the state of the data owned by such a lock.
This work is nice but we realise it should be extended to all cross-process locks, not only the event cache store.
Tasks:
- Introduce a generation mechanism right inside the cross-process lock type,
- Update
lock()
to return a poison if any, - Add
lock_unchecked()
to lock regardless of the poison, - Implement this new mechanism in the event cache store
- Remove the existing similar mechanism in the crypto store
- A clean up in the crypto store is necessary to put all the states in a single place, so that cache invalidation is easier
Metadata
Metadata
Assignees
Labels
No labels