Skip to content

[meta] _Dirty_ cross-process locks #4874

@Hywan

Description

@Hywan

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 dirtiness (previously: poison). This issue aims at extending this notion to all cross-process locks.

Imagine the following scenario:

  • holder A takes the lock for the first time: lock is clean,
  • holder A takes the lock for the second time: lock is still clean,
  • holder B takes the lock for the first time, it's stolen from holder A: lock is still clean
  • holder A takes the lock for the third time, it's stolen from holder B: lock is dirty.

When the lock is obtained, it is either clean or dirty. When dirty it indicates that the internal in-memory state should be invalidated and refreshed.

Tasks

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions