[Cyberduck-trac] [Cyberduck] #11756: Duck CLI: Issued delete command for a file, entire folder deleted

Cyberduck trac at cyberduck.io
Thu Oct 14 20:31:29 UTC 2021


#11756: Duck CLI: Issued delete command for a file, entire folder deleted
-------------------------+-------------------------
 Reporter:  MarkBlaise   |         Owner:  dkocher
     Type:  defect       |        Status:  assigned
 Priority:  highest      |     Milestone:  8.0
Component:  cli          |       Version:  7.10.0
 Severity:  blocker      |    Resolution:
 Keywords:  delete       |  Architecture:  Intel
 Platform:  Windows 8.1  |
-------------------------+-------------------------
Description changed by dkocher:

Old description:

> CLI v7.10.0 (35184)
> After updating to 7.10.0 (35184), the following command was issued in a
> Windows batch file:
>
> duck -delete wasabisys://xxxxxxxxxxxxxxxxxxxx@Bax-
> Backup/Guinan/Diff/20210425-Guinan-Daily_20210430015501.nbd > logfile.txt
>
> Instead of deleting the 20210425-Guinan-Daily_20210430015501.nbd file in
> the Diff folder, the '''''ENTIRE'' Diff folder was deleted'''. That is,
> instead of deleting 1 file, it deleted 74 files and the folder they were
> in. This script has been used for months without issue, but this happened
> only after the 7.10.0 update. I see that the command should have been "--
> delete" and the script mistakenly has "-delete", but as I said, the
> script has worked fine for months. The log file (logfile.txt) contained
> the following:
>

> {{{
> Unknown…
> Resolving s3.wasabisys.com…
> Opening S3 connection to s3.wasabisys.com…
> S3 connection opened…
> Authenticating as xxxxxxxxxxxxxxxxxxxx…
> Login successful…
> Reading metadata of Diff…
> Deleting Diff……
> Deleting 20210425-Guinan-Daily_20210430015501.nbd…
> Deleting 20210425-Guinan-Daily_20210501015501.nbd…
> Deleting 20210502-Guinan-Daily_20210503015501.nbd…
> Deleting 20210502-Guinan-Daily_20210504015501.nbd…
> Deleting 20210502-Guinan-Daily_20210505015501.nbd…
> Deleting 20210502-Guinan-Daily_20210506084838.nbd…
> Deleting 20210502-Guinan-Daily_20210507015500.nbd…
> Deleting 20210502-Guinan-Daily_20210508015500.nbd…
> Deleting 20210509-Guinan-Daily_20210510164500.nbd…
> Deleting 20210509-Guinan-Daily_20210511015501.nbd…
> Deleting 20210509-Guinan-Daily_20210512015501.nbd…
> Deleting 20210509-Guinan-Daily_20210513015500.nbd…
> Deleting 20210509-Guinan-Daily_20210514015500.nbd…
> Deleting 20210509-Guinan-Daily_20210515015500.nbd…
> Deleting 20210516-Guinan-Daily_20210517015501.nbd…
> Deleting 20210516-Guinan-Daily_20210518015501.nbd…
> Deleting 20210516-Guinan-Daily_20210519015501.nbd…
> Deleting 20210516-Guinan-Daily_20210520015501.nbd…
> Deleting 20210516-Guinan-Daily_20210521015500.nbd…
> Deleting 20210516-Guinan-Daily_20210522015501.nbd…
> Deleting 20210523-Guinan-Daily_20210524015501.nbd…
> Deleting 20210523-Guinan-Daily_20210525015500.nbd…
> Deleting 20210523-Guinan-Daily_20210526015500.nbd…
> Deleting 20210523-Guinan-Daily_20210527015500.nbd…
> Deleting 20210523-Guinan-Daily_20210528015501.nbd…
> Deleting 20210523-Guinan-Daily_20210529015500.nbd…
> Deleting 20210602-Guinan-Daily_20210603085525.nbd…
> Deleting 20210602-Guinan-Daily_20210603191619.nbd…
> Deleting 20210602-Guinan-Daily_20210604015501.nbd…
> Deleting 20210602-Guinan-Daily_20210605015500.nbd…
> Deleting 20210606-Guinan-Daily_20210607015501.nbd…
> Deleting 20210606-Guinan-Daily_20210608015501.nbd…
> Deleting 20210606-Guinan-Daily_20210609015500.nbd…
> Deleting 20210606-Guinan-Daily_20210610015501.nbd…
> Deleting 20210606-Guinan-Daily_20210611015501.nbd…
> Deleting 20210606-Guinan-Daily_20210612015501.nbd…
> Deleting 20210613-Guinan-Daily_20210614015501.nbd…
> Deleting 20210613-Guinan-Daily_20210615015500.nbd…
> Deleting 20210613-Guinan-Daily_20210616015501.nbd…
> Deleting 20210613-Guinan-Daily_20210617015501.nbd…
> Deleting 20210613-Guinan-Daily_20210618015501.nbd…
> Deleting 20210613-Guinan-Daily_20210619015501.nbd…
> Deleting 20210613-Guinan-Daily_20210624111459.nbd…
> Deleting 20210625-Guinan-Daily_20210626015500.nbd…
> Deleting 20210627-Guinan-Daily_20210628015501.nbd…
> Deleting 20210627-Guinan-Daily_20210629015501.nbd…
> Deleting 20210627-Guinan-Daily_20210630015500.nbd…
> Deleting 20210627-Guinan-Daily_20210701085703.nbd…
> Deleting 20210627-Guinan-Daily_20210702015501.nbd…
> Deleting 20210627-Guinan-Daily_20210703083108.nbd…
> Deleting 20210704-Guinan-Daily_20210705015501.nbd…
> Deleting 20210704-Guinan-Daily_20210706015500.nbd…
> Deleting 20210704-Guinan-Daily_20210707015501.nbd…
> Deleting 20210704-Guinan-Daily_20210708015501.nbd…
> Deleting 20210704-Guinan-Daily_20210709015500.nbd…
> Deleting 20210704-Guinan-Daily_20210710015501.nbd…
> Deleting 20210711-Guinan-Daily_20210712015501.nbd…
> Deleting 20210711-Guinan-Daily_20210713015501.nbd…
> Deleting 20210711-Guinan-Daily_20210714015501.nbd…
> Deleting 20210711-Guinan-Daily_20210715015506.nbd…
> Deleting 20210711-Guinan-Daily_20210716015501.nbd…
> Deleting 20210711-Guinan-Daily_20210717015501.nbd…
> Deleting 20210718-Guinan-Daily_20210719015500.nbd…
> Deleting 20210718-Guinan-Daily_20210720015501.nbd…
> Deleting 20210718-Guinan-Daily_20210721015501.nbd…
> Deleting 20210718-Guinan-Daily_20210722015501.nbd…
> Deleting 20210718-Guinan-Daily_20210723015500.nbd…
> Deleting 20210718-Guinan-Daily_20210724015500.nbd…
> Deleting 20210725-Guinan-Daily_20210726015501.nbd…
> Deleting 20210725-Guinan-Daily_20210727015501.nbd…
> Deleting 20210725-Guinan-Daily_20210728015500.nbd…
> Deleting 20210725-Guinan-Daily_20210729015500.nbd…
> Deleting 20210725-Guinan-Daily_20210730015501.nbd…
> Deleting 20210725-Guinan-Daily_20210731015500.nbd…
> Deleting Diff…
>
> }}}
>
> This is what a log file for a delete command typically contains:
>

> {{{
> Reading metadata of 20210425-Guinan-Daily_20210429015500.nbd…
> Resolving s3.wasabisys.com…
> Opening S3 connection to s3.wasabisys.com…
> S3 connection opened…
> Authenticating as xxxxxxxxxxxxxxxxxxxx…
> Login successful…
> Deleting 20210425-Guinan-Daily_20210429015500.nbd……
> Deleting 20210425-Guinan-Daily_20210429015500.nbd…
>
> }}}
>

> The script was run against a set of 25 files across 8 folders. '''All 8
> folders were deleted''', deleting 331 files instead of the 25.
>
> Note that the list had multiple files from a given folder. The first file
> deletion command for a given folder deleted the folder. When the delete
> command was subsequently issued for the other files in the folder, the
> log file showed this:
>

> {{{
> Unknown…
> Resolving s3.wasabisys.com…
> Opening S3 connection to s3.wasabisys.com…
> S3 connection opened…
> Authenticating as xxxxxxxxxxxxxxxxxxxx…
> Disconnecting s3.wasabisys.com…
> Failure to read attributes of Diff. Not Found. Request Error. Please
> contact your web hosting service provider for assistance.
>
> Unknown.
>
> }}}
>

> Fortunately, most of the files could be recovered from a local cache, but
> this is pretty upsetting.
>
> Let me know if you need anything else.

New description:

 CLI v7.10.0 (35184)
 After updating to 7.10.0 (35184), the following command was issued in a
 Windows batch file:


 {{{
 duck -delete wasabisys://xxxxxxxxxxxxxxxxxxxx@Bax-
 Backup/Guinan/Diff/20210425-Guinan-Daily_20210430015501.nbd > logfile.txt

 }}}

 Instead of deleting the 20210425-Guinan-Daily_20210430015501.nbd file in
 the Diff folder, the '''''ENTIRE'' Diff folder was deleted'''. That is,
 instead of deleting 1 file, it deleted 74 files and the folder they were
 in. This script has been used for months without issue, but this happened
 only after the 7.10.0 update. I see that the command should have been "--
 delete" and the script mistakenly has "-delete", but as I said, the script
 has worked fine for months. The log file (logfile.txt) contained the
 following:


 {{{
 Unknown…
 Resolving s3.wasabisys.com…
 Opening S3 connection to s3.wasabisys.com…
 S3 connection opened…
 Authenticating as xxxxxxxxxxxxxxxxxxxx…
 Login successful…
 Reading metadata of Diff…
 Deleting Diff……
 Deleting 20210425-Guinan-Daily_20210430015501.nbd…
 Deleting 20210425-Guinan-Daily_20210501015501.nbd…
 Deleting 20210502-Guinan-Daily_20210503015501.nbd…
 Deleting 20210502-Guinan-Daily_20210504015501.nbd…
 Deleting 20210502-Guinan-Daily_20210505015501.nbd…
 Deleting 20210502-Guinan-Daily_20210506084838.nbd…
 Deleting 20210502-Guinan-Daily_20210507015500.nbd…
 Deleting 20210502-Guinan-Daily_20210508015500.nbd…
 Deleting 20210509-Guinan-Daily_20210510164500.nbd…
 Deleting 20210509-Guinan-Daily_20210511015501.nbd…
 Deleting 20210509-Guinan-Daily_20210512015501.nbd…
 Deleting 20210509-Guinan-Daily_20210513015500.nbd…
 Deleting 20210509-Guinan-Daily_20210514015500.nbd…
 Deleting 20210509-Guinan-Daily_20210515015500.nbd…
 Deleting 20210516-Guinan-Daily_20210517015501.nbd…
 Deleting 20210516-Guinan-Daily_20210518015501.nbd…
 Deleting 20210516-Guinan-Daily_20210519015501.nbd…
 Deleting 20210516-Guinan-Daily_20210520015501.nbd…
 Deleting 20210516-Guinan-Daily_20210521015500.nbd…
 Deleting 20210516-Guinan-Daily_20210522015501.nbd…
 Deleting 20210523-Guinan-Daily_20210524015501.nbd…
 Deleting 20210523-Guinan-Daily_20210525015500.nbd…
 Deleting 20210523-Guinan-Daily_20210526015500.nbd…
 Deleting 20210523-Guinan-Daily_20210527015500.nbd…
 Deleting 20210523-Guinan-Daily_20210528015501.nbd…
 Deleting 20210523-Guinan-Daily_20210529015500.nbd…
 Deleting 20210602-Guinan-Daily_20210603085525.nbd…
 Deleting 20210602-Guinan-Daily_20210603191619.nbd…
 Deleting 20210602-Guinan-Daily_20210604015501.nbd…
 Deleting 20210602-Guinan-Daily_20210605015500.nbd…
 Deleting 20210606-Guinan-Daily_20210607015501.nbd…
 Deleting 20210606-Guinan-Daily_20210608015501.nbd…
 Deleting 20210606-Guinan-Daily_20210609015500.nbd…
 Deleting 20210606-Guinan-Daily_20210610015501.nbd…
 Deleting 20210606-Guinan-Daily_20210611015501.nbd…
 Deleting 20210606-Guinan-Daily_20210612015501.nbd…
 Deleting 20210613-Guinan-Daily_20210614015501.nbd…
 Deleting 20210613-Guinan-Daily_20210615015500.nbd…
 Deleting 20210613-Guinan-Daily_20210616015501.nbd…
 Deleting 20210613-Guinan-Daily_20210617015501.nbd…
 Deleting 20210613-Guinan-Daily_20210618015501.nbd…
 Deleting 20210613-Guinan-Daily_20210619015501.nbd…
 Deleting 20210613-Guinan-Daily_20210624111459.nbd…
 Deleting 20210625-Guinan-Daily_20210626015500.nbd…
 Deleting 20210627-Guinan-Daily_20210628015501.nbd…
 Deleting 20210627-Guinan-Daily_20210629015501.nbd…
 Deleting 20210627-Guinan-Daily_20210630015500.nbd…
 Deleting 20210627-Guinan-Daily_20210701085703.nbd…
 Deleting 20210627-Guinan-Daily_20210702015501.nbd…
 Deleting 20210627-Guinan-Daily_20210703083108.nbd…
 Deleting 20210704-Guinan-Daily_20210705015501.nbd…
 Deleting 20210704-Guinan-Daily_20210706015500.nbd…
 Deleting 20210704-Guinan-Daily_20210707015501.nbd…
 Deleting 20210704-Guinan-Daily_20210708015501.nbd…
 Deleting 20210704-Guinan-Daily_20210709015500.nbd…
 Deleting 20210704-Guinan-Daily_20210710015501.nbd…
 Deleting 20210711-Guinan-Daily_20210712015501.nbd…
 Deleting 20210711-Guinan-Daily_20210713015501.nbd…
 Deleting 20210711-Guinan-Daily_20210714015501.nbd…
 Deleting 20210711-Guinan-Daily_20210715015506.nbd…
 Deleting 20210711-Guinan-Daily_20210716015501.nbd…
 Deleting 20210711-Guinan-Daily_20210717015501.nbd…
 Deleting 20210718-Guinan-Daily_20210719015500.nbd…
 Deleting 20210718-Guinan-Daily_20210720015501.nbd…
 Deleting 20210718-Guinan-Daily_20210721015501.nbd…
 Deleting 20210718-Guinan-Daily_20210722015501.nbd…
 Deleting 20210718-Guinan-Daily_20210723015500.nbd…
 Deleting 20210718-Guinan-Daily_20210724015500.nbd…
 Deleting 20210725-Guinan-Daily_20210726015501.nbd…
 Deleting 20210725-Guinan-Daily_20210727015501.nbd…
 Deleting 20210725-Guinan-Daily_20210728015500.nbd…
 Deleting 20210725-Guinan-Daily_20210729015500.nbd…
 Deleting 20210725-Guinan-Daily_20210730015501.nbd…
 Deleting 20210725-Guinan-Daily_20210731015500.nbd…
 Deleting Diff…

 }}}

 This is what a log file for a delete command typically contains:


 {{{
 Reading metadata of 20210425-Guinan-Daily_20210429015500.nbd…
 Resolving s3.wasabisys.com…
 Opening S3 connection to s3.wasabisys.com…
 S3 connection opened…
 Authenticating as xxxxxxxxxxxxxxxxxxxx…
 Login successful…
 Deleting 20210425-Guinan-Daily_20210429015500.nbd……
 Deleting 20210425-Guinan-Daily_20210429015500.nbd…

 }}}


 The script was run against a set of 25 files across 8 folders. '''All 8
 folders were deleted''', deleting 331 files instead of the 25.

 Note that the list had multiple files from a given folder. The first file
 deletion command for a given folder deleted the folder. When the delete
 command was subsequently issued for the other files in the folder, the log
 file showed this:


 {{{
 Unknown…
 Resolving s3.wasabisys.com…
 Opening S3 connection to s3.wasabisys.com…
 S3 connection opened…
 Authenticating as xxxxxxxxxxxxxxxxxxxx…
 Disconnecting s3.wasabisys.com…
 Failure to read attributes of Diff. Not Found. Request Error. Please
 contact your web hosting service provider for assistance.

 Unknown.

 }}}


 Fortunately, most of the files could be recovered from a local cache, but
 this is pretty upsetting.

 Let me know if you need anything else.

--

--
Ticket URL: <https://trac.cyberduck.io/ticket/11756#comment:2>
Cyberduck <https://cyberduck.io>
Libre FTP, SFTP, WebDAV, S3 & OpenStack Swift browser for Mac and Windows


More information about the Cyberduck-trac mailing list