Merge ~kissiel/checkbox-ng:multi-master into checkbox-ng:master
Proposed by
Maciej Kisielewski
Status: | Merged |
---|---|
Approved by: | Sylvain Pineau |
Approved revision: | 7ac269310a27d0f49981ceb3c40d524dc055b7b0 |
Merged at revision: | 40a6cb8d780f35627f9525fe4ea5e0b8073eb262 |
Proposed branch: | ~kissiel/checkbox-ng:multi-master |
Merge into: | checkbox-ng:master |
Diff against target: |
116 lines (+66/-3) 2 files modified
checkbox_ng/launcher/master.py (+31/-3) checkbox_ng/launcher/slave.py (+35/-0) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sylvain Pineau (community) | Approve | ||
Maciej Kisielewski (community) | Needs Resubmitting | ||
Review via email:
|
Description of the change
Fix a problem where two masters could be connected to the same slave casuing lots of race conditions.
To post a comment you must log in.
Got the following tracebacks when the second master tries to connect:
$ checkbox-cli master 127.0.0.1 ./mylauncher
Connection lost!
connection closed by peer
Connection lost!
connection closed by peer
and this one on slave:
$ sudo checkbox-cli slave ng/plainbox/ vendor/ rpyc/utils/ server. py", line 181, in _authenticate_ and_serve_ client _serve_ client( sock2, credentials) ng/plainbox/ vendor/ rpyc/utils/ server. py", line 202, in _serve_client _connect( Channel( SocketStream( sock)), config) ng/plainbox/ vendor/ rpyc/core/ service. py", line 100, in _connect on_connect( conn) ng/checkbox_ ng/launcher/ slave.py" , line 60, in on_connect tSlave. master_ blaster: ng/plainbox/ vendor/ rpyc/core/ netref. py", line 220, in method HANDLE_ CALLATTR, name, args, kwargs) ng/plainbox/ vendor/ rpyc/core/ netref. py", line 75, in syncreq request( handler, proxy, *args) ng/plainbox/ vendor/ rpyc/core/ protocol. py", line 471, in sync_request request( handler, *args, timeout= timeout) .value ng/plainbox/ vendor/ rpyc/core/ async_. py", line 95, in value ng/plainbox/ vendor/ rpyc/core/ async_. py", line 47, in wait out("result expired") python3. 6/threading. py", line 916, in _bootstrap_inner python3. 6/threading. py", line 864, in run _target( *self._ args, **self._kwargs) ng/plainbox/ vendor/ rpyc/utils/ server. py", line 181, in _authenticate_ and_serve_ client _serve_ client( sock2, credentials) ng/plainbox/ vendor/ rpyc/utils/ server. py", line 202, in _serve_client _connect( Channel( SocketStream( sock)), config) ng/plainbox/ vendor/ rpyc/core/ service. py", line 100, in _connect on_connect( conn) ng/checkbox_ ng/launcher/ slave.py" , line 60, in on_connect tSlave. master_ blaster: ng/plainbox/ vendor/ rpyc/core/ netref. py", line 220, in method HANDLE_ CALLATTR, name, args, kwargs) ng/plainbox/ vendor/ rpyc/core/ netref. py", line 75, in syncreq request( handler, proxy, *args) ng/plainbox/ vendor/ rpyc/core/ protocol. py", line 471, in sync_request request( handler, *args, timeout= timeout) .value ng/plainbox/ vendor/ rpyc/core/ async_. py", line 95, in value ng/plainbox/ vendor/ rpyc/core/ async_. py", line 47, in wait out("result expired")
client connection terminated abruptly
Traceback (most recent call last):
File "/tmp/checkbox-
self.
File "/tmp/checkbox-
conn = self.service.
File "/tmp/checkbox-
self.
File "/tmp/checkbox-
if SessionAssistan
File "/tmp/checkbox-
return syncreq(_self, consts.
File "/tmp/checkbox-
return conn.sync_
File "/tmp/checkbox-
return self.async_
File "/tmp/checkbox-
self.wait()
File "/tmp/checkbox-
raise AsyncResultTime
TimeoutError: result expired
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/
self.run()
File "/usr/lib/
self.
File "/tmp/checkbox-
self.
File "/tmp/checkbox-
conn = self.service.
File "/tmp/checkbox-
self.
File "/tmp/checkbox-
if SessionAssistan
File "/tmp/checkbox-
return syncreq(_self, consts.
File "/tmp/checkbox-
return conn.sync_
File "/tmp/checkbox-
return self.async_
File "/tmp/checkbox-
self.wait()
File "/tmp/checkbox-
raise AsyncResultTime
TimeoutError: result expired
To be precise it happens when I try to connect the second master while being still at the test selection urwid scree...