diff --git a/dvc/repo/data.py b/dvc/repo/data.py index b29b86f51e..32415fd7e6 100644 --- a/dvc/repo/data.py +++ b/dvc/repo/data.py @@ -456,15 +456,17 @@ def _onerror(entry, exc): n += 1 cb.set_size(n) + results = storage_map.bulk_remote_exists( + list(entries.values()), refresh=remote_refresh, callback=cb + ) for key, entry in entries.items(): k = (*key, "") if entry.meta and entry.meta.isdir else key 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)) except StorageKeyError: pass - finally: - cb.relative_update() + data_index.onerror = orig_data_index_onerror return missing_entries diff --git a/pyproject.toml b/pyproject.toml index a15f1e33e4..0518dc1e65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,7 @@ dependencies = [ "distro>=1.3", "dpath<3,>=2.1.0", "dulwich", - "dvc-data>=3.16.2,<3.17", + "dvc-data>=3.17.0,<3.18", "dvc-http>=2.29.0", "dvc-objects", "dvc-render>=1.0.1,<2",