Skip to content

docs: promote TTL-inline cross-leader design to partial - #1338

Merged
bootjp merged 2 commits into
mainfrom
feature/epic-galileo-peebyq
Oct 26, 2026
Merged

bootjp merged 2 commits into
mainfrom
feature/epic-galileo-peebyq

Conversation

@bootjp

@bootjp bootjp commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Design: docs/design/2026_10_17_partial_ttl_inline_cross_leader_legacy_rows.md

Summary

Renames the design doc from proposed to partial. #1280 merged the first M1 and M1b components to main, and the README defines partial as "some components exist but the full scope is not yet merged".

There are two commits:

  1. Rename commit (git mv): the dedicated promotion commit the README asks for. It changes only the filename and the Status: header.
  2. Progress update: updates the "Implementation progress" section to match main:
    • the components listed are on main via TTL-inline: implement cross-leader legacy-row migration #1280;
    • no milestone is complete, the new protocol stays disabled, and both read fallbacks stay on;
    • TransactionManager.Commit now refuses require_absent before proposing it, and M1b's all-member capability fence is what replaces that refusal.

The 2026_10_17 date and the header Date: are unchanged, as the README requires. Nothing else in the repository links to the old filename.

Evidence that the doc is partial, not implemented

  • On main:
    • ShardStore.ScanGroupOwnedPageAt (kv/legacy_metadata_scan.go)
    • the shared rotation (adapter/redis_background_rotation.go)
    • the absence guard (kv/absence_guard.go, including refuseAbsenceProposal)
    • the replicated pin journal and typed commands (kv/fsm_replicated_backup.go, kv/replicated_backup_codec.go)
    • the compaction fence (requireLegacyCompactionState in kv/compactor.go)
  • Not on main: RelocateLegacyRows (M2), PurgeShadowedVersions / RaiseReadFloor (M3), the M4 gate, and M1 reporting integration and M1b activation.

Self-review

Docs only: no code, wire-format or test changes.

  1. Data loss: not applicable.
  2. Concurrency: not applicable.
  3. Performance: not applicable.
  4. Consistency: the progress text was checked against main.
  5. Test coverage: not applicable.

All commits carry Signed-off-by for DCO.


Generated by Claude Code

Summary by CodeRabbit

  • ドキュメント
    • 設計文書の状態を「提案」から「一部完了」に更新し、実装済みの内容と残る受け入れ条件を整理しました。
    • require_absentを含む要求は、全メンバーの能力を永続的に確認できるようになるまで、提案前に拒否する方針を明記しました。
    • 永続ピン状態やFSM統合などの未完了項目を記載し、読み取りフォールバックは引き続き有効であることを明確にしました。

…rtial

#1280 merged the first M1 and M1b components to main
(physical-page reporting, the shared delta/migration rotation, the
capability-gated absence guard, and the durable generation-pin journal
with its typed FSM commands), while M1 reporting integration, M1b
activation and M2-M4 remain open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M143Q9MNkB4QTCD4Zbd1M8
Signed-off-by: Claude <noreply@anthropic.com>
Update the implementation progress of the now-partial design: the M1
and M1b components listed are on main via #1280, no
milestone is complete, and the new protocol stays disabled. Record the
proposal-time require_absent refusal in TransactionManager.Commit and
that M1b's all-member capability fence is what replaces it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M143Q9MNkB4QTCD4Zbd1M8
Signed-off-by: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
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: 4c8bd366-3f5b-4586-9b24-60e23b7f1291
Commits

Reviewing files that changed from the base of the PR and between 9d8bbec and 8dcecd8.

Files selected for processing: 1
  • docs/design/2026_10_17_partial_ttl_inline_cross_leader_legacy_rows.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Walkthrough

設計文書の状態をProposedからPartialに変更しました。M1とM1bの実装状況、未完了の受け入れ条件、および読み取りフォールバックの状態を更新しました。

Changes: TTL-inline 移行設計

Layer / File(s) Summary
設計状態と実装進捗の記録
docs/design/2026_10_17_partial_ttl_inline_cross_leader_legacy_rows.md
文書の状態をPartialに変更しました。M1の物理ページ報告とM1bの原子的な不在条件を実装済みとして記載し、耐久性のある能力・有効化フェンスなどの未完了項目を明記しました。

Priority: Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Possibly related issues

  • bootjp/elastickv#1330 — 同じ設計文書と残作業を扱います。このPRは進捗を記録しますが、Issueの実装項目は完了しません。

Possibly related PRs

  • bootjp/elastickv#1090 — capability gate、readiness、Raft FSMの適用制御を実装しており、文書に記載されたM1bの能力フェンスと関連します。
  • bootjp/elastickv#1280 — 同じTTL-inline移行設計を追加し、このPRはその設計文書の進捗を更新します。
Merge Risk: Minimal · up to 8dcec

This PR only updates design-document status and progress, with no identified merge-blocking risk.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed タイトル「docs: promote TTL-inline cross-leader design to partial」は、変更の主要点を示しています。PR の主目的は、設計文書の状態を Proposed から Partial に変更し、実装進捗を更新することです。タイトルはこの変更を直接示しており、対象ファイルの内容とも一致しています。
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

  • 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.

@bootjp
bootjp marked this pull request as ready for review October 26, 2026 03:59
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-26T04:00:39.584671Z 8dcecd8 Draft marked ready
🔒 Security Review ✅ Completed 2026-10-26T04:01:41.929602Z 8dcecd8 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added the agent-review-approved Current HEAD has a completed code review with zero findings label Oct 26, 2026
@bootjp
bootjp merged commit 3857da9 into main Oct 26, 2026
12 checks passed
@bootjp
bootjp deleted the feature/epic-galileo-peebyq branch October 26, 2026 04:24
@github-actions github-actions Bot removed the agent-review-approved Current HEAD has a completed code review with zero findings label Oct 26, 2026
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.

2 participants