BadStatusLine bubbles up
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lazr.restfulclient |
Triaged
|
Low
|
Unassigned |
Bug Description
I got this error recently from a run of a script talking to Launchpad:
Traceback (most recent call last):
File "/home/
sys.
File "/home/
bug_change = get_stats(
File "/home/
pillar = Pillar(
File "/usr/lib/
line 912, in __getitem__
unicode(
File "/usr/lib/
line 316, in get
response, content = self._request(url, extra_headers=
File "/usr/lib/
line 260, in _request
str(url), method=method, body=data, headers=headers)
File "/usr/lib/
(response, new_content) = self._request(conn, authority, uri,
request_uri, method, body, headers, redirections, cachekey)
File "/usr/lib/
line 154, in _request
redirections, cachekey)
File "/usr/lib/
(response, content) = self._conn_
body, headers)
File "/usr/lib/
line 159, in _conn_request
conn, request_uri, method, body, headers)
File "/usr/lib/
in _conn_request
response = conn.getresponse()
File "/usr/lib/
response.begin()
File "/usr/lib/
version, status, reason = self._read_status()
File "/usr/lib/
raise BadStatusLine(line)
httplib.
As far as I can tell, lazr.restfulclient should catch this and retry, rather than requiring API users to handle the error themselves.
Changed in lazr.restfulclient: | |
status: | New → Triaged |
importance: | Undecided → Medium |
This generally points at bad networking rather than something sensibly retriable. Retrying -might- make sense for idempotent requests, but definitely not for mutating requests.