Fix coordinator/schema drift and replace the synthetic smoke test - #4
Closed
sounkou-bioinfo wants to merge 2 commits into
Closed
sounkou-bioinfo wants to merge 2 commits into
sounkou-bioinfo wants to merge 2 commits into
Conversation
Use the package's failure transition instead of nonexistent completed_at and lease_token columns. Exercise the actual schema, native checkpoints, failure counters and excluded task states in the existing integration test. Make prepare/execute/error handling explicit in the poll loop, enable the existing NULL-argument guard, and stop the coordinator on test failures.
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. |
Keep the shared_home = FALSE change in the rewritten coordinator test. All other changes from main are retained without modification.
Member
Author
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.
Review finding
Reviewed against
052c7b42f783f021cdb0044888fdb016dd581b3b.The native reaper referred to
completed_atandlease_token, neither of which exists ininst/sql/schema.sql. Its integration test created a second, incompatible task schema containing those names, so it could pass without exercising CanardAbsurd's actual contract.Reproduced with the unmodified extension and the actual package schema on DuckDB
v1.5.5-dev262(official CI binary at release-code commitd8cdaa33fd):Changing column names alone would still be wrong: terminal expiry must increment
failures, record the reason, and clearworker,token, andlease_untiltogether.Changes
inst/sql/reap.sql, includingRETURNING 1 AS changed, id.test-v1.Rwith the package's actual schema. Check failure accounting, ownership clearance, native input/checkpoint preservation, and noninterference with retryable, live, ready, and terminal tasks. Exercise two queues with a reap limit of one.on.exit()actually provides cleanup. Stop the coordinator before disconnecting, including on assertion failures. Surface polling errors immediately instead of hiding them behind a timeout.This is deliberately a two-file change. No new scheduler, generic registration framework, schema migration, dependencies, generated reports, or test runner is added. The existing lease/checkpoint protocol and one-shot coordinator lifecycle are retained.
Validation
-Wall -Wextra -Werror, targeting C extension API v1.2.0; also checked compilation against the pinned 1.5.5 SDK headers.git diff --checkpassed.Not run locally: the revised R script,
make document,make test,make check, and the repository's Tree-sitter audit. This sandbox has no R installation and cannot clone/fetch dependencies directly. The existing coordinator CI matrix already invokestest-v1.Ron Linux, macOS, and Windows; its result must be checked before merging. The native validation does not claim to replace R or Quack integration tests.The supplied article informed the review focus: readable production control flow and tests that exercise the real implementation, rather than shorter code or more verification machinery.