Skip to content

Handle missing directory marker files objects #7876

Description

@cyberduck

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

Activity

  1. cyberduck commented on Apr 1, 2014

    @cyberduck
    ContributorAuthor

    @dkocher commented

    Fix with test in c25f221.

  2. locked as resolved and limited conversation to collaborators on Nov 26, 2021
  3. added theissue type on Sep 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

openstackOpenStack Swift Protocol Implementation

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions