Flaky Exception in key.get() under remote_api during multi-threading |
||
Issue description
Flaky Exception in key.get() under remote_api during multi-threading:
Traceback (most recent call last):
File "../../script_util.py", line 84, in Worker
function(*args, **kwargs)
File "run-predator.py", line 41, in StoreResults
findit = FinditForClientID(client_id, LocalGitRepository())
File "../../../crash/crash_pipeline.py", line 53, in FinditForClientID
return cls(repository)
File "../../../crash/findit_for_chromecrash.py", line 54, in __init__
component_classifier_config = CrashConfig.Get().component_classifier
File "../../../model/versioned_config.py", line 29, in Get
config_data = cls.GetVersion(version=version)
File "../../../model/versioned_model.py", line 68, in GetVersion
root = root_key.get()
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/ndb/key.py", line 572, in get
return self.get_async(**ctx_options).get_result()
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/ndb/tasklets.py", line 383, in get_result
self.check_success()
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/ndb/tasklets.py", line 427, in _help_tasklet_along
value = gen.throw(exc.__class__, exc, tb)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/ndb/context.py", line 722, in get
deadline=memcache_deadline)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/ndb/tasklets.py", line 427, in _help_tasklet_along
value = gen.throw(exc.__class__, exc, tb)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/ndb/context.py", line 1107, in _memcache_get_tasklet
rpc=rpc)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/ndb/tasklets.py", line 513, in _on_rpc_completion
result = rpc.get_result()
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 613, in get_result
return self.__get_result_hook(self)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/api/memcache/__init__.py", line 620, in __get_hook
rpc.check_success()
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 579, in check_success
self.__rpc.CheckSuccess()
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/api/apiproxy_rpc.py", line 157, in _WaitImpl
self.request, self.response)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 201, in MakeSyncCall
self._MakeRealSyncCall(service, call, request, response)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 227, in _MakeRealSyncCall
encoded_response = self._server.Send(self._path, encoded_request)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 246, in Send
url, method=method, body=payload, headers=headers)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/lib/oauth2client/oauth2client/client.py", line 569, in new_request
redirections, connection_type)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/lib/httplib2/httplib2/__init__.py", line 1584, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/lib/httplib2/httplib2/__init__.py", line 1332, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "/usr/local/google/home/katesonia/Workstation/chromium_infra/google_appengine/lib/httplib2/httplib2/__init__.py", line 1302, in _conn_request
response = conn.getresponse()
File "/usr/lib/python2.7/httplib.py", line 1051, in getresponse
response.begin()
File "/usr/lib/python2.7/httplib.py", line 415, in begin
version, status, reason = self._read_status()
File "/usr/lib/python2.7/httplib.py", line 379, in _read_status
raise BadStatusLine(line)
BadStatusLine: ''
,
Nov 17 2016
It seems this is caused by several try to call CrashConfig.Get() at the same time. After serializing the CrashConfig.Get(), the exception seems goon (haven't hit it in ~20 times of runs)
,
Nov 17 2016
|
||
►
Sign in to add a comment |
||
Comment 1 by kateso...@chromium.org
, Nov 17 2016