Repository navigation
fix(schema): keep a default constraint wait inside the call deadline - #144
Conversation
With no wait named, create_constraint() sent none, so the server waited by its own default: 60 s on 0.7.2 and tunable by the operator, while the client's deadline stayed at its 30 s timeout. A unique or node-key build taking between the two ended the call with DEADLINE_EXCEEDED although the server went on to create the constraint. The client cannot see the server's default, so it always names the wait: the given one, or its own timeout when none is given, and extends the call's deadline by it. Regression test: test_default_wait_ends_before_the_deadline. Closes #143
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 19 minutes. View limit details
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. Comment |
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. |
|
[Medium impact] Safe to merge within the reviewed scope; no blocking issues were found.
|
🤖 I have created a release *beep* *boop* --- ## [4.0.1](v4.0.0...v4.0.1) (2026-10-17) ### Bug Fixes * **schema:** keep a default constraint wait inside the call deadline ([#144](#144)) ([59301d6](59301d6)), closes [#143](#143) * **types:** read and write timestamps as epoch microseconds ([#133](#133)) ([547c66d](547c66d)), closes [#132](#132) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: sw-release-bot[bot] <255865126+sw-release-bot[bot]@users.noreply.github.com>



Summary
create_constraint()called withoutwaitsent no wait, so the server waited for the backing index build by its own default: 60 s on CoordiNode 0.7.2, tunable by the operator. The client's deadline stayed at its own timeout, 30 s by default, so a unique or node-key build taking between the two ended the call withDEADLINE_EXCEEDEDalthough the server went on to create the constraint.The client cannot see the server's default, so it now always sends a wait: the one given, or its own timeout when none is given, and extends the call's deadline by that wait. The server answers before the client gives up, with the constraint
ACTIVE, orVALIDATINGwith its build.Testing
pytest tests/unit: 374 passed, 2 skipped.test_default_wait_ends_before_the_deadlinefailed before the change.make lint: clean.Closes #143