Use bulk calls for checking which entries are not in remote (#10923)

Co-authored-by: Sami Jawhar <[email protected]>
Co-authored-by: skshetry <[email protected]>
This commit is contained in:
Falko Galperin
2025-12-22 07:42:36 +00:00
committed by GitHub
co-authored by Sami Jawhar skshetry
parent 796903a14b
commit a6594e0cc9
2 changed files with 6 additions and 4 deletions
+5 -3
View File
@@ -456,15 +456,17 @@ def _get_entries_not_in_remote(
n += 1 n += 1
cb.set_size(n) cb.set_size(n)
results = storage_map.bulk_remote_exists(
list(entries.values()), refresh=remote_refresh, callback=cb
)
for key, entry in entries.items(): for key, entry in entries.items():
k = (*key, "") if entry.meta and entry.meta.isdir else key k = (*key, "") if entry.meta and entry.meta.isdir else key
try: try:
if not storage_map.remote_exists(entry, refresh=remote_refresh): if not results.get(entry, False):
missing_entries.append(os.path.sep.join(k)) missing_entries.append(os.path.sep.join(k))
except StorageKeyError: except StorageKeyError:
pass pass
finally:
cb.relative_update()
data_index.onerror = orig_data_index_onerror data_index.onerror = orig_data_index_onerror
return missing_entries return missing_entries
+1 -1
View File
@@ -41,7 +41,7 @@ dependencies = [
"distro>=1.3", "distro>=1.3",
"dpath<3,>=2.1.0", "dpath<3,>=2.1.0",
"dulwich", "dulwich",
"dvc-data>=3.16.2,<3.17", "dvc-data>=3.17.0,<3.18",
"dvc-http>=2.29.0", "dvc-http>=2.29.0",
"dvc-objects", "dvc-objects",
"dvc-render>=1.0.1,<2", "dvc-render>=1.0.1,<2",