Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 23a1bf89b2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| // The number of docs in the split | ||
| uint64 num_docs = 6; | ||
| // Whether the split is mature and no longer eligible for merging. | ||
| bool is_mature = 7; |
There was a problem hiding this comment.
Document the new split-maturity protocol
is_mature is a new root-to-leaf protobuf field that changes which split searches are exempted from pruning, but this patch leaves the protocol/cache documentation unchanged (docs/overview/concepts/querying.md:96 only gives a generic description of partial-result caching). Without documenting the false compatibility default and the timestamp-descending mature-split scope, operators and future protocol maintainers cannot reason about rolling upgrades or the added search work; add the corresponding protocol/cache documentation.
AGENTS.md reference: AGENTS.md:L23-L24
Useful? React with 👍 / 👎.
Summary
Exact query repeats can lose their cached pruning threshold when the newest splits merge away. Older splits often have only count-only cache entries, so the next refresh warms them up again before it can discard their hits.
Preserve a cached hit list from the youngest mature split, which is no longer eligible for merging. Its hits can establish a threshold on later refreshes and allow older count-only entries to be reused before warmup.
Changes
SplitIdAndFooterOffsets.is_mature.Only one mature split is protected. If it has fewer than
start_offset + max_hitsmatches, its cached hits alone cannot establish a threshold; older splits may still need searching. Collecting its hits adds work when it would otherwise have been pruned.The protocol field is additive and defaults to
falsefor older requests. No migration is required.