Repository navigation
fix(onlion): the manifest read is bounded too, it was the last unbounded step - #147
Merged
Merged
Conversation
…ded step Measured after deploying 59d41ae: an Add followed immediately by a search stalled past 90 s against a user whose only data was in the log, with the manifest read as the only step left before the bounded log tail. /health had already shown the same storage stalling for 45 s on a single MEMORY.head. The search's manifest read gets MANIFEST_READ_MS (8 s). On timeout the page is partial with degraded=manifest_timeout instead of holding the request until the platform kills it. The write path keeps its own behaviour: an Add that cannot read its manifest must not silently behave as if there were none. verify: 49 PASS.
CodeFactor's no-undef caught a real ordering mistake: the failure path referenced the per-attempt persistence counter, which is declared inside the attempt further down. A manifest read that timed out has nothing saved and nothing changed, so it passes a zeroed counter literal.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Doc owner:
docs/design/search-time-budget-design.{md,zh-CN.md}— phase 2 stops being "no dedicated bound"; updated in a follow-up on this branch.After deploying
59d41ae9, anAddfollowed immediately by a search stalled past 90 s for a user whose only data was in the log./healthhad already reported the same storage stalling: oneMEMORY.headtook over 45 s.The manifest read was the last unbounded step on the search path — my own phase table says phase 2 has "no dedicated bound", and that was true right up until it was the thing that hung.
Change
MANIFEST_READ_MS(8 s) around the search's manifest read, samehardDeadlineas the other phases.200withpartial: trueanddegraded: "manifest_timeout".Addthat cannot read its manifest must not behave as if there were none.Series
Every bound now corresponds to an observed stall: embedding call (10-31), log tail (11-01 17:1x), health probe (11-01 17:3x), manifest (11-01, this).