This is an automated email from the ASF dual-hosted git repository. not-in-ldap pushed a commit to branch juerg/cache-query-job-benchmark in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit a0637f4172676d0b4b59377e79601807c2966c8a Author: Jürg Billeter <[email protected]> AuthorDate: Tue Dec 22 18:14:16 2020 +0100 test --- src/buildstream/_stream.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py index 6c4b2d9..72bc9f5 100644 --- a/src/buildstream/_stream.py +++ b/src/buildstream/_stream.py @@ -176,11 +176,22 @@ class Stream: # Enqueue complete build plan as this is required to determine `buildable` status. plan = list(self._pipeline.dependencies(elements, _Scope.ALL)) - self._scheduler.clear_queues() - self._add_queue(CacheQueryQueue(self._scheduler, sources=sources), track=True) - self._enqueue_plan(plan) - self._run() - self._scheduler.clear_queues() + for element in plan: + if not sources and element._get_cache_key(strength=_KeyStrength.WEAK): + element._load_artifact(pull=False) + if not element._can_query_cache() or not element._cached_success(): + element._query_source_cache() + if not element._pull_pending(): + element._load_artifact_done() + else: + element._query_source_cache() + + if False: + self._scheduler.clear_queues() + self._add_queue(CacheQueryQueue(self._scheduler, sources=sources), track=True) + self._enqueue_plan(plan) + self._run() + self._scheduler.clear_queues() # shell() #
