WebhookClient.deliver crashes if the endpoint times out

Bug #1489792 reported by Colin Watson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Critical
William Grant

Bug Description

I tried a webhook delivery to my ADSL (http://riva.dynamic.greenend.org.uk/), and apparently my router box times out HTTP requests rather than rejecting them as it really should; this produced https://oops.canonical.com/?oopsid=OOPS-86856e3812ab2bada21cf3f23ab8f83b.

  ReadTimeout: HTTPConnectionPool(host='webhooks-proxy.qastaging.paddev.net', port=3128): Read timed out. (read timeout=30)

    Traceback (most recent call last):
  Module lazr.jobrunner.jobrunner, line 194, in runJobHandleError
    self.runJob(job, fallback)
  Module lp.services.job.runner, line 302, in runJob
    super(BaseJobRunner, self).runJob(IRunnableJob(job), fallback)
  Module lazr.jobrunner.jobrunner, line 162, in runJob
    job.run()
  Module lp.services.webhooks.model, line 426, in run
    str(self.job_id), self.event_type, self.payload)
  Module lp.services.webhooks.client, line 87, in deliver
    resp = session.send(preq, proxies=proxies, timeout=timeout)
  Module requests.sessions, line 573, in send
    r = adapter.send(request, **kwargs)
  Module requests.adapters, line 433, in send
    raise ReadTimeout(e, request=request)
ReadTimeout: HTTPConnectionPool(host='webhooks-proxy.qastaging.paddev.net', port=3128): Read timed out. (read timeout=30)

Related branches

William Grant (wgrant)
Changed in launchpad:
assignee: nobody → William Grant (wgrant)
status: Triaged → In Progress
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
Revision history for this message
William Grant (wgrant) wrote :

In [21]: d.error_message
Out[21]: u'Connection error: Request timeout'

tags: added: qa-ok
removed: qa-needstesting
Colin Watson (cjwatson)
Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.