🥅 Add registration guardrails #1789
Closed
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.
Fixes
Related to FCP-INDI/TheWay#8 by @shnizzedy
Description
QC checks registration steps and either crashes or changes the random seed and retries the step.
Thresholds are specified in the pipeline config
C-PAC/CPAC/resources/configs/pipeline_config_default.yml
Lines 587 to 597 in b9a7ad0
Technical details
Guardrails strategy
For a node that calculates a warp:
BadRegistrationErroron QC failure.MergeandSelectutility nodes to choose which node's outputs to used based on the failure status of the first-try node's guardrail.I've got some (I think) good ideas to abstract the guardrails further so the installation can be simpler in the future, but that'll be after 1.8.5 (if ever).
Also
random.logwith a single logged seed torandom.tsvwith a logged seed per try (to record the incremented seed for any retries that succeed where the first try failed)fallbackforkable option for BBR whereOffdoes no BBR;Ondoes one BBR attempt with one seed-incremented retry;fallbackdoes one BBR attempt, falling back to no-BBR on failurestop_on_first_crashconfiguration option with newfail_fastconfig optionChecklist
Update index.md).developbranch of the repository.Developer Certificate of Origin
Developer Certificate of Origin