fix: S3 HeadObject NotFound error never being returned #2139
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.
Issues:
fixes: #2084
Description:
Removes S3 HeadObject customization that stripped the model of all errors for that operation. It's unclear why we decided to adopt this behavior. The code references aws/aws-sdk-go#1208 as justification but the
NoSuchKey
error in question is not what is modeled. Both HeadBucket and HeadObject only listNotFound
as an error.This also would appear to fix the
ObjectExists
andObjectNotExists
waiters.Backwards compatibility concerns
The
NotFound
error was never possible before this so if customers have defined code paths for it they may now trigger them. TheNotFound
error type is still anAPIError
though and any code path that implemented a work around to check theErrorCode()
directly will still work sinceNotFound
implementsAPIError
e.g.
Testing
Output Before
Output After
Appendix
Model
Links to S3 model never work because it's too large, pasted here for convenience