diff options
-rw-r--r-- | buildstream/_scheduler/queues/buildqueue.py | 16 | ||||
-rw-r--r-- | buildstream/_scheduler/queues/queue.py | 1 |
2 files changed, 11 insertions, 6 deletions
diff --git a/buildstream/_scheduler/queues/buildqueue.py b/buildstream/_scheduler/queues/buildqueue.py index 984a5457a..d05327557 100644 --- a/buildstream/_scheduler/queues/buildqueue.py +++ b/buildstream/_scheduler/queues/buildqueue.py @@ -106,10 +106,16 @@ class BuildQueue(Queue): def done(self, job, element, result, success): - if success: - # Inform element in main process that assembly is done - element._assemble_done() + # Inform element in main process that assembly is done + element._assemble_done() - # This has to be done after _assemble_done, such that the - # element may register its cache key as required + # This has to be done after _assemble_done, such that the + # element may register its cache key as required + # + # FIXME: Element._assemble() does not report both the failure state and the + # size of the newly cached failed artifact, so we can only adjust the + # artifact cache size for a successful build even though we know a + # failed build also grows the artifact cache size. + # + if success: self._check_cache_size(job, element, result) diff --git a/buildstream/_scheduler/queues/queue.py b/buildstream/_scheduler/queues/queue.py index 909cebb44..055e2f84b 100644 --- a/buildstream/_scheduler/queues/queue.py +++ b/buildstream/_scheduler/queues/queue.py @@ -292,7 +292,6 @@ class Queue(): # See the Job object for an explanation of the call signature # def _job_done(self, job, element, success, result): - element._update_state() # Update values that need to be synchronized in the main task # before calling any queue implementation |