From 6f3735f0c633de4f89fa96289c65d3724c605c62 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Mar 19 2024 16:21:54 +0000 Subject: avoid explicit rowlock in taskWaitCheck --- diff --git a/kojihub/kojihub.py b/kojihub/kojihub.py index 1b53ea4..59f2e38 100644 --- a/kojihub/kojihub.py +++ b/kojihub/kojihub.py @@ -14622,8 +14622,7 @@ class Host(object): # check to see if any of the tasks have finished query = QueryProcessor(tables=['task'], columns=['id', 'state'], clauses=['parent=%(parent)s', 'awaited IS TRUE'], - values={'parent': parent}, - opts={'rowlock': True}) + values={'parent': parent}) result = query.execute() canceled = koji.TASK_STATES['CANCELED'] closed = koji.TASK_STATES['CLOSED'] @@ -14642,10 +14641,10 @@ class Host(object): finished, unfinished = self.taskWaitCheck(parent) # un-await finished tasks if finished: - context.commit_pending = True - for id in finished: + finished.sort() # update in predictable order + for task_id in finished: update = UpdateProcessor('task', clauses=['id=%(id)s'], - values={'id': id}, data={'awaited': False}) + values={'id': task_id}, data={'awaited': False}) update.execute() return [finished, unfinished]