firebase-admin-python icon indicating copy to clipboard operation
firebase-admin-python copied to clipboard

Firebase Admin not retried on auth request connection error

Open al-muammar opened this issue 1 year ago • 1 comments

Even though DEFAULT_RETRY_CONFIG is good enough

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

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?

al-muammar avatar Jan 16 '25 18:01 al-muammar

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

google-oss-bot avatar Jan 16 '25 18:01 google-oss-bot