Skip to content

Commit a6594e0

Browse files
falko17sjawharskshetry
authored
Use bulk calls for checking which entries are not in remote (#10923)
Co-authored-by: Sami Jawhar <sami@metr.org> Co-authored-by: skshetry <18718008+skshetry@users.noreply.github.com>
1 parent 796903a commit a6594e0

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

dvc/repo/data.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -456,15 +456,17 @@ def _onerror(entry, exc):
456456
n += 1
457457
cb.set_size(n)
458458

459+
results = storage_map.bulk_remote_exists(
460+
list(entries.values()), refresh=remote_refresh, callback=cb
461+
)
459462
for key, entry in entries.items():
460463
k = (*key, "") if entry.meta and entry.meta.isdir else key
461464
try:
462-
if not storage_map.remote_exists(entry, refresh=remote_refresh):
465+
if not results.get(entry, False):
463466
missing_entries.append(os.path.sep.join(k))
464467
except StorageKeyError:
465468
pass
466-
finally:
467-
cb.relative_update()
469+
468470
data_index.onerror = orig_data_index_onerror
469471
return missing_entries
470472

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ dependencies = [
4141
"distro>=1.3",
4242
"dpath<3,>=2.1.0",
4343
"dulwich",
44-
"dvc-data>=3.16.2,<3.17",
44+
"dvc-data>=3.17.0,<3.18",
4545
"dvc-http>=2.29.0",
4646
"dvc-objects",
4747
"dvc-render>=1.0.1,<2",

0 commit comments

Comments
 (0)