Return when VCRs match in target_replace
#1661
Open
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.
Notifications to Nexus from an Upstairs are best-effort only: they can be missed or dropped, or suffer from all sorts of bad weather. For this reason, Nexus will poll an Upstairs (eg a Pantry attachment or Propolis disk backed by Crucible) to query the state of a repair (especially during region replacement).
For a given VCR replacement request, Propolis will:
target_replace(original, replacement)
The next time that Nexus sends the same VCR replacement request, Propolis will end up calling what amounts to
target_replace(replacement, replacement)
, and before this commit that would fail with "The VCRs have no difference".Nexus will poll using with VCR replacement requests, so this commit changes
target_replace
to returnVcrMatches
instead of an error. Note that Nexus will not consider this a signal that a replacement has completed.