Skip to content

Enforce execution order using mutexes - #242

Open
jupenur wants to merge 6 commits into
mainfrom
async-fixes
Open

Enforce execution order using mutexes#242
jupenur wants to merge 6 commits into
mainfrom
async-fixes

Conversation

@jupenur

@jupenur jupenur commented Aug 27, 2026

Copy link
Copy Markdown
Member

Fixes #223:

  • The update listener is no longer responsible for clearing caches; caches are cleared in WebcatRequestHandler.bind, where a mutex ensures execution does not interleave with #onRequest.
  • A mutex in NamespacedKVStore operations ensures they cannot interleave with operations of the same instance. No guarantees are provided across instances.
  • WebcatDatabase.updateList no longer calls enrollments.clear
  • Multiple EnrollmentUpdater.retryIfFailed calls only call update once if the update succeeds.

@jupenur
jupenur requested review from a team and lsd-cat August 27, 2026 10:43
@jupenur
jupenur marked this pull request as draft August 27, 2026 10:52
@jupenur jupenur changed the title Enforce execution order using mutexes WIP: Enforce execution order using mutexes Aug 27, 2026
@jupenur
jupenur removed the request for review from lsd-cat August 27, 2026 10:53
@jupenur jupenur changed the title WIP: Enforce execution order using mutexes Enforce execution order using mutexes Aug 27, 2026
@jupenur
jupenur marked this pull request as ready for review August 27, 2026 11:23
@jupenur

jupenur commented Aug 27, 2026

Copy link
Copy Markdown
Member Author

This is probably easiest to review one commit at a time. Each commit pretty much fixes one issue. I could've opened separate PRs for each one but this way there's less to merge.

@jupenur
jupenur requested a review from lsd-cat August 27, 2026 11:25
@lsd-cat

lsd-cat commented Sep 7, 2026

Copy link
Copy Markdown
Member

Hey, sorry for the delay here! I didn't have the continuous time needed to followup and understand, but will ensure do so by this week.

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

Successfully merging this pull request may close these issues.

Review async code safety

2 participants