X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a017e1f5ac7ad49a29e302275d0f0f83754941ea..150de14b0b265d86df11a04201320944d04fe3a5:/sdk/python/arvados/collection.py diff --git a/sdk/python/arvados/collection.py b/sdk/python/arvados/collection.py index a44d42b6ac..23b4393a94 100644 --- a/sdk/python/arvados/collection.py +++ b/sdk/python/arvados/collection.py @@ -827,7 +827,7 @@ class RichCollectionBase(CollectionBase): self.set_committed(False) self.notify(DEL, self, pathcomponents[0], deleteditem) else: - item.remove(pathcomponents[1]) + item.remove(pathcomponents[1], recursive=recursive) def _clonefrom(self, source): for k,v in listitems(source): @@ -1256,7 +1256,7 @@ class Collection(RichCollectionBase): def __init__(self, manifest_locator_or_text=None, api_client=None, keep_client=None, - num_retries=None, + num_retries=10, parent=None, apiconfig=None, block_manager=None, @@ -1308,6 +1308,11 @@ class Collection(RichCollectionBase): super(Collection, self).__init__(parent) self._api_client = api_client self._keep_client = keep_client + + # Use the keep client from ThreadSafeApiCache + if self._keep_client is None and isinstance(self._api_client, ThreadSafeApiCache): + self._keep_client = self._api_client.keep + self._block_manager = block_manager self.replication_desired = replication_desired self._storage_classes_desired = storage_classes_desired @@ -1319,7 +1324,7 @@ class Collection(RichCollectionBase): else: self._config = config.settings() - self.num_retries = num_retries if num_retries is not None else 0 + self.num_retries = num_retries self._manifest_locator = None self._manifest_text = None self._portable_data_hash = None @@ -1406,7 +1411,7 @@ class Collection(RichCollectionBase): @synchronized def _my_api(self): if self._api_client is None: - self._api_client = ThreadSafeApiCache(self._config) + self._api_client = ThreadSafeApiCache(self._config, version='v1') if self._keep_client is None: self._keep_client = self._api_client.keep return self._api_client