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()
     #

Reply via email to