-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add checksum algorithm to ListObjectsV2 response #1086
Merged
passaro
merged 7 commits into
awslabs:main
from
dannycjones:listobjects-return-checksumalgo
Oct 29, 2024
Merged
Add checksum algorithm to ListObjectsV2 response #1086
passaro
merged 7 commits into
awslabs:main
from
dannycjones:listobjects-return-checksumalgo
Oct 29, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Daniel Carl Jones <[email protected]>
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:31 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:31 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:31 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:32 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:32 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:32 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:32 — with
GitHub Actions
Inactive
Signed-off-by: Daniel Carl Jones <[email protected]>
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:41 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:41 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:41 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:41 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:41 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:41 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 28, 2024 15:41 — with
GitHub Actions
Inactive
passaro
reviewed
Oct 28, 2024
…e case Signed-off-by: Daniel Carl Jones <[email protected]>
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:12 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:12 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:12 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:12 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:12 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:12 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:12 — with
GitHub Actions
Failure
Signed-off-by: Daniel Carl Jones <[email protected]>
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:13 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:13 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:13 — with
GitHub Actions
Failure
dannycjones
had a problem deploying
to
PR integration tests
October 29, 2024 13:13 — with
GitHub Actions
Failure
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:16 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:16 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:16 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:16 — with
GitHub Actions
Inactive
Signed-off-by: Daniel Carl Jones <[email protected]>
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:27 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:27 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:27 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:27 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:27 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:27 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 13:27 — with
GitHub Actions
Inactive
passaro
reviewed
Oct 29, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a couple of minor suggestions.
…algorithm method Signed-off-by: Daniel Carl Jones <[email protected]>
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 14:38 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 14:38 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 14:38 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 14:38 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 14:38 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 14:38 — with
GitHub Actions
Inactive
dannycjones
temporarily deployed
to
PR integration tests
October 29, 2024 14:38 — with
GitHub Actions
Inactive
passaro
approved these changes
Oct 29, 2024
github-merge-queue bot
pushed a commit
that referenced
this pull request
Nov 1, 2024
…c over single element (#1093) ## Description of change On reviewing the S3 API documentation, the checksum algorithm field is a list of algorithms. Additionally, when reviewing other SDKs such as the [Rust SDK, we see that they are presenting this field as `Option<Vec<String>>`](https://docs.rs/aws-sdk-s3/latest/aws_sdk_s3/types/struct.Object.html) rather than a single optional element. (Note, we do drop the `Option` still. We'd prefer to align with the SDK interface. Our tenet here is to ensure our S3 client is consistent with the official SDKs where there's no significant effort required. This is making a breaking change while we're already planning to make a number of breaking changes to the client. Relevant issues: - Follow up on #1086, which added checksum algorithms to the list objects response. ## Does this change impact existing behavior? Yes, it changes the S3 client behavior to return a different type. We are however merging this before a new crate release, so this will not be an additional breaking change. There's no behavior change to Mountpoint file system. ## Does this change need a changelog entry in any of the crates? There is already an existing entry in `mountpoint-s3-client`'s changelog. This PR has been added to the list of PRs for that entry. --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). --------- Signed-off-by: Daniel Carl Jones <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of change
For a consumer of the S3 client, we need to return the checksum algorithm used with objects.
This change exposes the checksum algorithm that is sometimes returned as part of a ListObjectsV2 request. This functionality is not opt-in, and will now simply be exposed to be used by consumers of Mountpoint S3 client where supported.
This change also updates
ChecksumAlgorithm
to have a newUnknown
variant. This is a common pattern in AWS SDKs. This will allow clients to recognize where an unknown algorithm is returned (should the S3 service start supporting additional algorithms), and avoid either returningNone
(if optional) or panicking when the error may be recoverable.Relevant issues: N/A
Does this change impact existing behavior?
Yes, it changes the
ObjectInfo
andChecksumAlgorithm
structs. Specifically, they are now markednon_exhaustive
meaning that new fields could be added in the future (as has been done in this PR).Does this change need a changelog entry in any of the crates?
Yes, relevant change logs for breaking change (
non_exhaustive
) as well as new feature (exposing checksum algorithm) have been added tomountpoint-s3-client
's changelog.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).