Ensure the HTTP index is updated after a yank/unyank #5022
Merged
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.
The intent of this PR is to apply the fix in the final commit to enqueue a sync of the HTTP index whenever a yank/unyank is performed. This mirrors the way that a sync is enqueued by the publish background job after a new version is published. Once this is deployed, we will need to run a full index sync to correct any existing divergence between the official git index and the experimental HTTP index.
The other commits only affect the test harness and http-data files. A new
RECORD=force cargo test
mode allows for regenerating these data files. In this mode all responses are simulated as a status=200 success with an empty body and no response headers. Apparently we have no existing tests to cover failed S3 requests. The old recording mode where the request is actually proxied to the destination is still available viaRECORD=passthrough
, though we can probably remove this mode as I don't think any of the current team has ever used it.I could decouple these changes for individual review, but it was very useful to build on top of the test harness improvements to update the data files and I don't think it adds much review overhead as only the final commit changes application behavior.