Skip to content

Introduce poison inside the cross-process locks #4874

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
6 tasks
Hywan opened this issue Apr 1, 2025 · 0 comments
Open
6 tasks

Introduce poison inside the cross-process locks #4874

Hywan opened this issue Apr 1, 2025 · 0 comments
Assignees

Comments

@Hywan
Copy link
Member

Hywan commented Apr 1, 2025

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
@Hywan Hywan self-assigned this Apr 1, 2025
@Hywan Hywan mentioned this issue Apr 1, 2025
37 tasks
@Hywan Hywan changed the title Introduce poison inside the cross-process lock Introduce poison inside the cross-process locks Apr 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant