[oe-commits] [bitbake] 03/08: runqueue: Change task migration behaviour for rerunning setscene tasks

git at git.openembedded.org git at git.openembedded.org
Fri Sep 27 12:35:11 UTC 2019


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository bitbake.

commit 4205a3ef23834f317642bba155d67cd772176fb6
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Fri Sep 20 16:30:19 2019 +0100

    runqueue: Change task migration behaviour for rerunning setscene tasks
    
    Currently runqueue will rerun setscene tasks multiple times as hashes
    change. This has caused numerous problems since a setscene task may
    become "unavailable" for some future signature combination and the code
    then can't easily "unskip" tasks its already passed into the execution
    queue.
    
    At least for now, only run setscene once and assume they're equivalent
    at that point. In practise that has been much more stable in testing.
    
    Tweak the test to match the change in behaviour.
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/runqueue.py       | 4 ++++
 lib/bb/tests/runqueue.py | 5 +----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 02160ef..6516993 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -2301,6 +2301,10 @@ class RunQueueExecute:
                 continue
             if tid in self.runq_running:
                 continue
+            if tid in self.scenequeue_covered:
+                # Potentially risky, should we report this hash as a match?
+                logger.info("Already covered setscene for %s so ignoring rehash" % (tid))
+                continue
             if tid not in self.pending_migrations:
                 self.pending_migrations.add(tid)
 
diff --git a/lib/bb/tests/runqueue.py b/lib/bb/tests/runqueue.py
index 01b992c..50b3392 100644
--- a/lib/bb/tests/runqueue.py
+++ b/lib/bb/tests/runqueue.py
@@ -307,8 +307,5 @@ class RunQueueTests(unittest.TestCase):
                         'e1:package_setscene']
             self.assertEqual(set(tasks), set(expected))
             for i in expected:
-                if i in ["e1:package_setscene"]:
-                    self.assertEqual(tasks.count(i), 4, "%s not in task list four times" % i)
-                else:
-                    self.assertEqual(tasks.count(i), 1, "%s not in task list once" % i)
+                self.assertEqual(tasks.count(i), 1, "%s not in task list once" % i)
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list