Skip to content

feat(storage): use IX for bounded zset pops and range removals - #438

Open
thweetkomputer wants to merge 1 commit into
zset-batch-intent-writesfrom
zset-selection-intent-writes
Open

thweetkomputer wants to merge 1 commit into
zset-batch-intent-writesfrom
zset-selection-intent-writes

Conversation

@thweetkomputer

Copy link
Copy Markdown
Collaborator

Standalone ZPOPMIN/ZPOPMAX and ZREMRANGE variants now use IX for topology-preserving deletions. Select with temporary S groups, release them, then acquire member X and merged ordered X/S requirements in identity order. Validate the selection's relevant page revisions and retain predicate protection through publication; changed selections fall back once to key X. Unrelated root publications can continue without forcing a retry.

Score ranges and endpoint pops protect their interval and neighbours. Rank and mixed-score lexical removals protect the whole ordered graph because changes elsewhere affect the predicate, while unrelated member reads can continue. Guaranteed page-emptying removals go directly to the structural X path. Multi-key aggregation/STORE, blocking or multi-key pops, compact values and externally locked transactions keep their existing paths.

Validation: Debug and Release builds; 67 focused unit tests and 81 grouped E2E tests pass, including crash recovery, OOM, EXEC and existing command surfaces. New deterministic tests cover selective progress, predicate conflicts, selection invalidation by score changes/deletion, and unrelated publications between selection and mutation.

Stacked on #437; this PR contains only selected deletions and endpoint pops.

@coderabbitai

coderabbitai Bot commented Nov 5, 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: 6697e112-f5c0-46f0-9139-5230af7fc48c

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

@thweetkomputer
thweetkomputer force-pushed the zset-selection-intent-writes branch from 786d2ad to d6dd9d7 Compare November 6, 2026 06:13
@thweetkomputer
thweetkomputer force-pushed the zset-batch-intent-writes branch from 1b60c26 to c0f10be Compare November 6, 2026 06:13
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