Skip to content

chore(guides): describe what the subscription lock guarantees once progress is fenced - #31

Merged
yordis merged 1 commit into
yordis/fix-subscription-fenced-progressfrom
yordis/docs-subscription-lock-guarantees
Oct 23, 2026
Merged

yordis merged 1 commit into
yordis/fix-subscription-fenced-progressfrom
yordis/docs-subscription-lock-guarantees

Conversation

@yordis

@yordis yordis commented Oct 21, 2026 •

Copy link
Copy Markdown
Member
  • Operators need to know that the lock guarantees ownership of progress rather than exclusive handler execution, that handlers must stay idempotent, and that the migration has to run before rolling nodes to the new version.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@cursor

cursor Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

PR Summary

Low Risk
Documentation-only changes with no runtime or schema impact.

Overview
Documentation-only update clarifying what subscription advisory locks actually guarantee in clustered EventStore deployments.

Architecture now explains that lock loss is detected after the fact, so checkpoint writes are fenced with a per-subscription lock generation in the subscriptions table—stale generations are rejected so a node that lost the lock learns it no longer owns progress.

Cluster expands on subscription behavior: the lock controls who may record progress, not exclusive handler execution, so two nodes can briefly process the same events during hand-off. It describes generation bumps on lock acquisition, rejected checkpoints for the old owner, and the requirement that subscribers stay idempotent (at-least-once). Mixed-version clusters only get this protection once every node records lock generations.

Upgrades adds migrate before rolling nodes: new-version nodes cannot acquire subscription locks until the schema migration runs (they retry); older nodes remain compatible with the migrated schema, enabling safe rolling upgrades after migration.

Reviewed by Cursor Bugbot for commit e7e4407. Bugbot is set up for automated code reviews on this repo. Configure here.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1144113a-14d2-4a6b-bf9b-4199746f894d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@yordis
yordis added this pull request to stack #32 October 21, 2026 00:25
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch 2 times, most recently from 24efbd0 to 3399fa3 Compare October 21, 2026 04:34
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch from 3399fa3 to 12e2e8b Compare October 21, 2026 05:31
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch 2 times, most recently from d10684d to b898551 Compare October 21, 2026 07:05
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch from b898551 to 1c8475e Compare October 21, 2026 07:33
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch 2 times, most recently from 4f67ba9 to f0c0219 Compare October 21, 2026 09:06
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch from f0c0219 to 6e26a30 Compare October 21, 2026 11:27
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch from 6e26a30 to beb3ba5 Compare October 22, 2026 15:12
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch from beb3ba5 to 87cad2e Compare October 22, 2026 16:07
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch from 87cad2e to 2d1dfc7 Compare October 23, 2026 07:36
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch from 2d1dfc7 to 2249a62 Compare October 23, 2026 09:58
…ogress is fenced

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis force-pushed the yordis/docs-subscription-lock-guarantees branch from 2249a62 to c6a6a42 Compare October 23, 2026 20:11
@yordis
yordis merged commit 20be9f9 into yordis/fix-advisory-lock-checkout-hang Oct 23, 2026
11 checks passed
@yordis
yordis deleted the yordis/docs-subscription-lock-guarantees branch October 23, 2026 20:41
yordis added a commit that referenced this pull request Oct 24, 2026
…ogress is fenced (#31)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
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.

1 participant