[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7570/8267] bitbake: cooker: clear extra config settings and remote datastores on client disconnect



commit c69722616840be627981ebc7e77c986c246d9f8d
Author: Paul Eggleton <paul eggleton linux intel com>
Date:   Mon Sep 4 14:00:31 2017 +1200

    bitbake: cooker: clear extra config settings and remote datastores on client disconnect
    
    When the UI disconnects, we can throw away any server-side remote
    datastores we created in response to calls from the UI, and we *must*
    drop everything in extraconfigdata or it will taint any future
    operations.
    
    Dropping extraconfigdata upon disconnect fixes taskhash mismatch errors
    when running devtool.DevtoolTests.test_devtool_update_recipe_local_files
    within oe-selftest with BB_SERVER_TIMEOUT=100 in OpenEmbedded.
    
    (Bitbake rev: 1ca2eec459424892391f060442ef38cf28d6a54a)
    
    Signed-off-by: Paul Eggleton <paul eggleton linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/command.py |    3 +++
 bitbake/lib/bb/cooker.py  |    2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index 0d0354c..6c966e3 100644
--- a/bitbake/lib/bb/command.py
+++ b/bitbake/lib/bb/command.py
@@ -145,6 +145,9 @@ class Command:
         self.currentAsyncCommand = None
         self.cooker.finishcommand()
 
+    def reset(self):
+        self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
+
 def split_mc_pn(pn):
     if pn.startswith("multiconfig:"):
         _, mc, pn = pn.split(":", 2)
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 90de40d..7d040dc 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1616,6 +1616,8 @@ class BBCooker:
     def clientComplete(self):
         """Called when the client is done using the server"""
         self.finishcommand()
+        self.extraconfigdata = {}
+        self.command.reset()
         self.databuilder.reset()
         self.data = self.databuilder.data
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]