dandi / dandi-cli

DANDI command line client to facilitate common operations
https://dandi.readthedocs.io/
Apache License 2.0
22 stars 27 forks source link

zarr upload: provide progress while deleting extra files -- need to provide progress report back #1410

Closed yarikoptic closed 8 months ago

yarikoptic commented 9 months ago

ATM reuploading some zarr to troubleshoot

the terminal output has been stuck on

❯ DANDI_DEVEL_INSTRUMENT_REQUESTS_SUPERLEN=1 dandi upload --validation ignore -J 5:200 ./sub-randomzarrlike_junk.zarr
2024-02-23 14:21:42,311 [    INFO] Found 2 files to consider
PATH                                            SIZE       ERRORS          UPLOAD STATUS                          MESSAGE                  
dandiset.yaml                                   3.0 kB                            skipped                         should be edited online  
sub-randomzarrlike/sub-randomzarrlike_junk.zarr 38.4 MB       1              100% deleting extra remote files     exists - reuploading     
Summary:                                        38.4 MB 1 with errors   41.8 kB/s 1 skipped                       1 should be edited online
                                                                                  1 deleting extra remote files   1 exists - reuploading  

for hours without any visible changes. Looking at the log (path to which also is not shown) only I saw that it does still go through deleting some "extra" remote files, and goes slowly through queries like

2024-02-23T16:06:34-0500 [DEBUG   ] dandi 306046:140253474395840 DELETE https://api.dandiarchive.org/api/zarr/fd6ab3ea-cff6-4006-a9bf-acfa5d983985/files/
2024-02-23T16:06:34-0500 [DEBUG   ] dandi 306046:140253474395840 requests.utils.super_len() reported 3510 for b'[{"path": "0/0/d0/d22/d2/f217.dat"}, {"path": "0/0/d0/d22/d2/f218.dat"}, {"path": "0/0/d0/d22/d2/f219.dat"}, {"path": "0/0/d0/d22/d2/f22.dat"}, {"path": "0/0/d0/d22/d2/f220.dat"}, {"path": "0/0/d0/d22/d2/f221.dat"}, {"path": "0/0/d0/d22/d2/f222.dat"}, {"path": "0/0/d0/d22/d2/f223.dat"}, {"path": "0/0/d0/d22/d2/f224.dat"}, {"path": "0/0/d0/d22/d2/f23.dat"}, {"path": "0/0/d0/d22/d2/f24.dat"}, {"path": "0/0/d0/d22/d2/f25.dat"}, {"path": "0/0/d0/d22/d2/f26.dat"}, {"path": "0/0/d0/d22/d2/f27.dat"}, {"path": "0/0/d0/d22/d2/f28.dat"}, {"path": "0/0/d0/d22/d2/f29.dat"}, {"path": "0/0/d0/d22/d2/f3.dat"}, {"path": "0/0/d0/d22/d2/f30.dat"}, {"path": "0/0/d0/d22/d2/f31.dat"}, {"path": "0/0/d0/d22/d2/f32.dat"}, {"path": "0/0/d0/d22/d2/f33.dat"}, {"path": "0/0/d0/d22/d2/f34.dat"}, {"path": "0/0/d0/d22/d2/f35.dat"}, {"path": "0/0/d0/d22/d2/f36.dat"}, {"path": "0/0/d0/d22/d2/f37.dat"}, {"path": "0/0/d0/d22/d2/f38.dat"}, {"path": "0/0/d0/d22/d2/f39.dat"}, {"path": "0/0/d0/d22/d2/f4.dat"}, {"path": "0/0/d0/d22/d2/f40.dat"}, {"path": "0/0/d0/d22/d2/f41.dat"}, {"path": "0/0/d0/d22/d2/f42.dat"}, {"path": "0/0/d0/d22/d2/f43.dat"}, {"path": "0/0/d0/d22/d2/f44.dat"}, {"path": "0/0/d0/d22/d2/f45.dat"}, {"path": "0/0/d0/d22/d2/f46.dat"}, {"path": "0/0/d0/d22/d2/f47.dat"}, {"path": "0/0/d0/d22/d2/f48.dat"}, {"path": "0/0/d0/d22/d2/f49.dat"}, {"path": "0/0/d0/d22/d2/f5.dat"}, {"path": "0/0/d0/d22/d2/f50.dat"}, {"path": "0/0/d0/d22/d2/f51.dat"}, {"path": "0/0/d0/d22/d2/f52.dat"}, {"path": "0/0/d0/d22/d2/f53.dat"}, {"path": "0/0/d0/d22/d2/f54.dat"}, {"path": "0/0/d0/d22/d2/f55.dat"}, {"path": "0/0/d0/d22/d2/f56.dat"}, {"path": "0/0/d0/d22/d2/f57.dat"}, {"path": "0/0/d0/d22/d2/f58.dat"}, {"path": "0/0/d0/d22/d2/f59.dat"}, {"path": "0/0/d0/d22/d2/f6.dat"}, {"path": "0/0/d0/d22/d2/f60.dat"}, {"path": "0/0/d0/d22/d2/f61.dat"}, {"path": "0/0/d0/d22/d2/f62.dat"}, {"path": "0/0/d0/d22/d2/f63.dat"}, {"path": "0/0/d0/d22/d2/f64.dat"}, {"path": "0/0/d0/d22/d2/f65.dat"}, {"path": "0/0/d0/d22/d2/f66.dat"}, {"path": "0/0/d0/d22/d2/f67.dat"}, {"path": "0/0/d0/d22/d2/f68.dat"}, {"path": "0/0/d0/d22/d2/f69.dat"}, {"path": "0/0/d0/d22/d2/f7.dat"}, {"path": "0/0/d0/d22/d2/f70.dat"}, {"path": "0/0/d0/d22/d2/f71.dat"}, {"path": "0/0/d0/d22/d2/f72.dat"}, {"path": "0/0/d0/d22/d2/f73.dat"}, {"path": "0/0/d0/d22/d2/f74.dat"}, {"path": "0/0/d0/d22/d2/f75.dat"}, {"path": "0/0/d0/d22/d2/f76.dat"}, {"path": "0/0/d0/d22/d2/f77.dat"}, {"path": "0/0/d0/d22/d2/f78.dat"}, {"path": "0/0/d0/d22/d2/f79.dat"}, {"path": "0/0/d0/d22/d2/f8.dat"}, {"path": "0/0/d0/d22/d2/f80.dat"}, {"path": "0/0/d0/d22/d2/f81.dat"}, {"path": "0/0/d0/d22/d2/f82.dat"}, {"path": "0/0/d0/d22/d2/f83.dat"}, {"path": "0/0/d0/d22/d2/f84.dat"}, {"path": "0/0/d0/d22/d2/f85.dat"}, {"path": "0/0/d0/d22/d2/f86.dat"}, {"path": "0/0/d0/d22/d2/f87.dat"}, {"path": "0/0/d0/d22/d2/f88.dat"}, {"path": "0/0/d0/d22/d2/f89.dat"}, {"path": "0/0/d0/d22/d2/f9.dat"}, {"path": "0/0/d0/d22/d2/f90.dat"}, {"path": "0/0/d0/d22/d2/f91.dat"}, {"path": "0/0/d0/d22/d2/f92.dat"}, {"path": "0/0/d0/d22/d2/f93.dat"}, {"path": "0/0/d0/d22/d2/f94.dat"}, {"path": "0/0/d0/d22/d2/f95.dat"}, {"path": "0/0/d0/d22/d2/f96.dat"}, {"path": "0/0/d0/d22/d2/f97.dat"}, {"path": "0/0/d0/d22/d2/f98.dat"}, {"path": "0/0/d0/d22/d2/f99.dat"}, {"path": "0/0/d0/d22/d20/f0.dat"}, {"path": "0/0/d0/d22/d20/f1.dat"}, {"path": "0/0/d0/d22/d20/f10.dat"}, {"path": "0/0/d0/d22/d20/f100.dat"}, {"path": "0/0/d0/d22/d20/f101.dat"}, {"path": "0/0/d0/d22/d20/f102.dat"}, {"path": "0/0/d0/d22/d20/f103.dat"}]'
2024-02-23T16:06:40-0500 [DEBUG   ] urllib3.connectionpool 306046:140253474395840 https://api.dandiarchive.org:443 "DELETE /api/zarr/fd6ab3ea-cff6-4006-a9bf-acfa5d983985/files/ HTTP/1.1" 204 0
2024-02-23T16:06:40-0500 [DEBUG   ] dandi 306046:140253474395840 Response: 204

it is odd to see upload at 100% but then stuck indefinetely. I think one way to resolve would be to

github-actions[bot] commented 8 months ago

:rocket: Issue was released in 0.60.0 :rocket: