[JUJU-1868] Prevent replacement of nil request body on retry #98
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.
When operating a MAAS controller via TLS, Juju can observe the following error during (sufficiently concurrent) provisioning:
Based on pouring over the
http
standard library, this appears to happen for GET requests without a body, where the retry logic incorrectly replaces anil
body with a (non-nil) empty buffer.Here we avoid doing the body reset when it is
nil
.I was not able to recreate the exact failure scenario, but there is a new test that verifies that this change behaves correctly.