New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 785048 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 783946



Sign in to add a comment

Add a default list of retriable exceptions to the http interceptor in http_client_appengine

Project Member Reported by robert...@chromium.org, Nov 14 2017

Issue description

By default, any new instances of gae_libs.http.http_client_appengine.HttpClientAppengine
should retry the following exceptions:

google.appengine.api.urlfetch_errors.DeadlineExceededError
google.appengine.api.urlfetch_errors.DownloadError
google.appengine.api.urlfetch_errors.ConnectionClosedError

One possible approach is to keep .retriable_exceptions as a property of the interceptor, and make the topmost ancestor (libs.http.interceptor.HttpInterceptorBase) swallow the exception, i.e. return None, if the exception's type is in the .retriable_exceptions list of types.

Since the interceptor base cannot depend on external libs (where these exceptions are defined), the list must be defined and populated in HttpClientAppengine, which is under gae_libs, and can depend on google.appengine.*

 
Status: Started (was: Assigned)
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/f25955a2a157977d117dadff5e7608b32a1ae19e

commit f25955a2a157977d117dadff5e7608b32a1ae19e
Author: Roberto Carrillo <robertocn@google.com>
Date: Mon Dec 04 22:38:54 2017

[Findit] Add default list of retriable exceptions for http interceptor.

This change allows our client to define a list of exceptions that can be
retried (the same way we currently retry certain http status codes).

R=stgao,chanli,lijeffrey,wylieb
BUG= 785048 

Change-Id: Ic84619d6a97965b1c7990be5ec180ed8053c2838
Reviewed-on: https://chromium-review.googlesource.com/804830
Reviewed-by: Shuotao Gao <stgao@chromium.org>
Commit-Queue: Roberto Carrillo <robertocn@chromium.org>

[modify] https://crrev.com/f25955a2a157977d117dadff5e7608b32a1ae19e/appengine/findit/libs/http/interceptor.py
[modify] https://crrev.com/f25955a2a157977d117dadff5e7608b32a1ae19e/appengine/findit/libs/http/test/interceptor_test.py
[modify] https://crrev.com/f25955a2a157977d117dadff5e7608b32a1ae19e/appengine/findit/gae_libs/http/http_client_appengine.py

Status: Fixed (was: Started)

Sign in to add a comment