firebase / firebase/firebase-admin-python

Firebase Admin not retried on auth request connection error

Open
#852 1 comment 1 reaction 0 assignees View on GitHub
api: core
Dominant language
Python
Stars
1.2k
Forks
359
Avg merge
5d 6m
Merged PRs (30d)
2

Description

Even though `DEFAULT_RETRY_CONFIG` is good enough
```py
DEFAULT_RETRY_CONFIG = retry.Retry(
connect=1, read=1, status=4, status_forcelist=[500, 503],
raise_on_status=False, backoff_factor=0.5, **_ANY_METHOD)
```
I'm still periodically getting `('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))`. I started thinking it is very weird, because it seems that this connection error should be retried, no? It turned out, that this connection error occurs not in the request itself, which properly retries connection errors. It happens inside `AuthorizedSession.credentials.before_request`, which for auth requests instead of `DEFAULT_RETRY_CONFIG` uses
```py
retry_adapter = requests.adapters.HTTPAdapter(max_retries=3)
```

I think the right approach would be to form `auth_request` manually with the correct retry config in `HttpClient.__init__` and pass it to `AuthorizedSession` on creation.

What are your thoughts?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.