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

Handle missing directory marker files objects #7876

Closed
cyberduck opened this issue Apr 1, 2014 · 1 comment
Closed

Handle missing directory marker files objects #7876

cyberduck opened this issue Apr 1, 2014 · 1 comment
Assignees
Labels
bug fixed openstack OpenStack Swift Protocol Implementation
Milestone

Comments

@cyberduck
Copy link
Collaborator

e2f2ab4 created the issue

Hi,

Directory Markers are zero-length markers objects which have the metadata content-type set to "application/directory". They are recommended, but not mandatory. On 4.4.3 I see Cyberduck creates then, but other applications don't always do the 'right' thing.

Here's a directory uploaded with Cyberduck 4.4.3:


$ swift list dcc_markers_cyberduck | grep Brocade-Foundry
Manuals/Brocade-Foundry                  <<<<--- Dir Marker Object
Manuals/Brocade-Foundry/FastIron_TurboIron_04200_ConfigGuide.pdf
Manuals/Brocade-Foundry/ICX_TI_FESX_FastIron_07400_ConfigGuide.pdf
Manuals/Brocade-Foundry/ICX_TI_FESX_FastIron_07400a_ConfigGuide.pdf
Manuals/Brocade-Foundry/NetIron CER 2000 Series Product Matrix-RSoho.pdf
Manuals/Brocade-Foundry/NetIronCesCer_05100_InstallGuide.pdf
Manuals/Brocade-Foundry/NetIronMLX_04100_InstallGuide.pdf
Manuals/Brocade-Foundry/NetIronUnfied_05300a_ConfigGuide.pdf
Manuals/Brocade-Foundry/NetIron_05000_ConfigGuide.pdf
Manuals/Brocade-Foundry/TurboIron24X_07400_ConfigGuide.pdf
Manuals/Brocade-Foundry/TurboIronX_04200_ReleaseNotes.pdf
Manuals/Brocade-Foundry/TurboIronX_04200a_ReleaseNotes.pdf

$ swift stat dcc_markers_cyberduck   Manuals/Brocade-Foundry
       Account: AUTH_abcdefg123456789
     Container: dcc_markers_cyberduck
        Object: Manuals/Brocade-Foundry
  Content Type: application/directory
Content Length: 0
 Last Modified: Tue, 01 Apr 2014 14:06:35 GMT
          ETag: d41d8cd98f00b204e9800998ecf8427e
 Accept-Ranges: bytes
   X-Timestamp: 1396361195.40628

Here's the same directory structure uploaded with the up-to-date version of the python-swiftclient - I don't get directory marker objects:

$ swift list  dcc_markers_swift  | grep Brocade
Manuals/Brocade-Foundry/FastIron_TurboIron_04200_ConfigGuide.pdf
Manuals/Brocade-Foundry/ICX_TI_FESX_FastIron_07400_ConfigGuide.pdf
Manuals/Brocade-Foundry/ICX_TI_FESX_FastIron_07400a_ConfigGuide.pdf
Manuals/Brocade-Foundry/NetIron CER 2000 Series Product Matrix-RSoho.pdf
Manuals/Brocade-Foundry/NetIronCesCer_05100_InstallGuide.pdf
Manuals/Brocade-Foundry/NetIronMLX_04100_InstallGuide.pdf
Manuals/Brocade-Foundry/NetIronUnfied_05300a_ConfigGuide.pdf
Manuals/Brocade-Foundry/TurboIron24X_07400_ConfigGuide.pdf
Manuals/Brocade-Foundry/TurboIronX_04200_ReleaseNotes.pdf
Manuals/Brocade-Foundry/TurboIronX_04200a_ReleaseNotes.pdf

If I delete the directory strucuture uploaded with python-swiftclient with Cyberduck, it pauses with 404 errors as it tries to remove the marker (object Manuals/Brocade-Foundry in the above example). Please can Cyberduck skip 404s on the delete of directory markers that are not present.

Thanks

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Fix with test in c25f221.

@iterate-ch iterate-ch locked as resolved and limited conversation to collaborators Nov 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug fixed openstack OpenStack Swift Protocol Implementation
Projects
None yet
Development

No branches or pull requests

2 participants