googlemaps / google-maps-services-go

Go client library for Google Maps API Web Services
https://pkg.go.dev/googlemaps.github.io/maps
Apache License 2.0
737 stars 214 forks source link

maps.Client Automatic Retry? Exponential Backoff? #268

Open danjacques opened 2 years ago

danjacques commented 2 years ago

The documentation for Maps API client suggests that each API client automatically handles retry on transient failure:

Retry on Failure The client libraries will automatically retry any request if the API sends a 5xx error.
Retries use exponential back-off, which helps in the event of intermittent failures.
image

However, looking at the code for maps.Client, Maps API methods look like they ultimately boil down to do(), which in turn defers to http.Client's Do() method. This does not perform any retry or backoff in the default HTTP client.

Is this a library bug or a documentation error, or am I missing something obvious? If one of the former, is there any formal guidance on best practices to perform retry/backoff with a maps.Client? Thanks!

emanuelmendezpeya commented 10 months ago

Hello, is this going to be addressed? We're having timeout errors in our service and a retry with exponential back-off would help