Skip to content
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

Remove S3 code that was obsolete in V3 for V4. #3686

Merged
merged 2 commits into from
Mar 6, 2025

Conversation

normj
Copy link
Member

@normj normj commented Mar 2, 2025

Description

Deleted all obsolete code in S3 package for V4. Initially I thought I would leave some in but given that we want to look at auto generating S3 at some point I figured it would be best to remove as much customization logic as possible.

The obsolete code I was most on the fence about deleting

  • The Expires property in favor of ExpiresString.
  • The GetAcl and PutAcl service methods. We have created new gets and puts per object and bucket which map to the S3 model. I debated about keeping this obsolete code to give an easier migration but since this was the SDK moving closer to the model it seemed better for a future auto generation effort.
  • CalculateMD5Header I debated about keeping because it had been marked obsolete fairly recently in V3. I figured it was best for simplifying the SDK logic and the migration experience is just delete the code that is ever setting it because the SDK now always computes a checksum.

Testing

Dry Run: DRY_RUN-bd4e3e24-9cd1-4569-a2b7-eb07c6ae51eb Successful

@normj normj changed the title Remove code that was obsolete in V3 for V4. Remove S3 code that was obsolete in V3 for V4. Mar 2, 2025
@normj normj force-pushed the normj/remove-s3-obsolete-code branch from cb30b8b to 017945f Compare March 2, 2025 08:46
@normj normj added the v4 label Mar 2, 2025
@dscpinheiro
Copy link
Contributor

Thanks for removing the checksum related properties, I should've done that in the last V3 sync.

But for GetAcl and PutAcl, they were not deprecated in V3 (Peter added the Obsolete attribute in V4: https://github.com/aws/aws-sdk-net/pull/3408/files#diff-b64870a2cb12bfa4f8f57ed10c69c61b95fe5d79bbb8e650bfde31d4f1a17ec5). Is it really OK to remove them now?

The GetACL and PutACL obsoletes were left since they were only obsolete in V4.
@normj normj force-pushed the normj/remove-s3-obsolete-code branch from cd03a3e to e215f6d Compare March 4, 2025 00:39
@normj
Copy link
Member Author

normj commented Mar 4, 2025

I have reverted the removal of the GetACL and PutACL methods. New dry run was successful.

[DataRow("bucket", "key")]
[DataTestMethod]
[TestCategory("S3")]
public void RequiredUriParameterBucketForGetAcl(string bucket, string key)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we put these back because GetACL is still there now or did you remove these on purpose?
I guess the test itself isn't really doing anything significant

@dscpinheiro dscpinheiro merged commit 9d4fea3 into v4-development Mar 6, 2025
1 check passed
@dscpinheiro dscpinheiro deleted the normj/remove-s3-obsolete-code branch March 6, 2025 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants