From 52f9f7b3cf35efb7e8d1189b80f9b0f7afe0e111 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Mon, 28 Nov 2016 13:44:52 -0500 Subject: [PATCH] 10586: Do not pile on more errors in the service.finished() case. --- sdk/python/arvados/keep.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sdk/python/arvados/keep.py b/sdk/python/arvados/keep.py index f318ea7a75..17f691306e 100644 --- a/sdk/python/arvados/keep.py +++ b/sdk/python/arvados/keep.py @@ -532,8 +532,12 @@ class KeepClient(object): self.get_nowait() self.task_done() elif self.pending_tries > 0: + service, service_root = self.get_nowait() + if service.finished(): + self.task_done() + continue self.pending_tries -= 1 - return self.get_nowait() + return service, service_root elif self.empty(): self.pending_tries_notification.notify_all() raise Queue.Empty @@ -604,8 +608,6 @@ class KeepClient(object): self.queue.task_done() def do_task(self, service, service_root): - if service.finished(): - return success = bool(service.put(self.data_hash, self.data, timeout=self.timeout)) -- 2.30.2