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

Deleting a S3 delete marker creates a new delete marker #16472

Open
Fydon opened this issue Oct 31, 2024 · 1 comment · May be fixed by #16508
Open

Deleting a S3 delete marker creates a new delete marker #16472

Fydon opened this issue Oct 31, 2024 · 1 comment · May be fixed by #16508
Assignees
Labels
s3 AWS S3 Protocol Implementation
Milestone

Comments

@Fydon
Copy link
Contributor

Fydon commented Oct 31, 2024

Describe the bug
I enabled preserving modification date and then uploaded a new file to a S3 bucket. I deleted it, which created a delete marker. I deleted the previous version, i.e. the file itself, which completed successfully. I then deleted the delete marker, but it just creates a new delete marker.

To Reproduce
Steps to reproduce the behavior:

  1. Download S3 (Credentials from AWS Command Line Interface).cyberduckprofile
  2. Edit it to add the following, as mentioned here.
    <key>Properties</key>
    <array>
      <string>s3.listing.metadata.enable=true</string>
    </array>
  1. Change a S3 connection to use profile and connect
  2. Upload a file to S3
  3. Delete file
  4. Delete previous version of file
  5. Try to delete the delete marker

Expected behavior
Before enabling the preservation of the modification date, I was able to delete a delete marker. I'm still able to on another installation of Cyberduck using the same profile but without the above changes to enable preserving modification date.

Desktop (please complete the following information):

  • OS: Windows 11
  • Cyberduck Version: 9.0.4 (42232)

Log Files
Delete and list was over 2000 lines long, so just extracted delete.
cyberduck.log

Additional context

@dkocher dkocher added the s3 AWS S3 Protocol Implementation label Oct 31, 2024
@dkocher dkocher self-assigned this Oct 31, 2024
@dkocher
Copy link
Contributor

dkocher commented Nov 7, 2024

As indicated by @Fydon this cannot be reproduced with the default AWS S3 connection profile but with the S3 (Timestamps) profile that has set s3.listing.metadata.enable=true. In this case file attributes are retrieved for every file using HEAD 1 which is not supported for delete markers and causes us to dismiss the version ID.

Footnotes

  1. https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html

@dkocher dkocher added this to the 9.1 milestone Nov 7, 2024
dkocher added a commit that referenced this issue Nov 7, 2024
@dkocher dkocher linked a pull request Nov 7, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s3 AWS S3 Protocol Implementation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants