Bound lock waits for human kind-word review decisions - #828
Merged
WaylandYang merged 1 commit intoSep 20, 2026
Merged
Conversation
Signed-off-by: dada-yan <BinjunYann@gmail.com>
Contributor
|
Reviewed and merging. The parts that carry the risk are right:
One note for later, not blocking this. |
This was referenced Sep 20, 2026
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.
A review click currently waits indefinitely behind a locked kind-word binding or entity projection. Reproduced through the authenticated route on
devatc6029069146b53294ea8f457d09d5f49684f709e: it remained pending for over six seconds after observing the PostgreSQL lock wait, then returned 200 only after the blocker released its entity lock.The human entry point now sets a transaction-local two-second
lock_timeout, writes the binding and projection through the same shared implementation, and finishes rollback before returning 409 on55P03. The review page shows a retry message in English or Chinese. Background alignment keeps its existing wait policy. Two seconds is an interactive lock-wait budget, not a total request or query execution deadline.Validation on Linux, Rust 1.98.1, isolated PostgreSQL 16.15 / pgvector 0.8.6, with database tests required:
7ssession setting after failure and success. Agent waiting, human precedence, non-lock database errors, invalid input, authentication, viewer permissions and cross-base rejection are covered.--locked --workspace --all-targets -- -D warnings), build and tests pass: 956 passed, 0 failed, 1 existing live-HTTPS test ignored. Linux frozen-lockfile frontend install, 91 tests, style guard, typecheck and production build pass.No migration. Reverting restores the prior wait policy. The existing post-commit enqueue boundary and phrase recomputation in #800 are unchanged; this does not claim to bound every synchronous handler.
Refs #798