googleapis / googleapis/google-cloud-cpp
Treat credential errors as retryable
- Dominant language
- C++
- Stars
- 659
- Forks
- 462
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 89
Description
Most credentials need to periodically fetch an access token, often via some HTTP or gRPC request. These requests can fail. These failures are **always** retryable, even for non-idempotent operations, because the request never left the application.
At this time there is no way to distinguish credential failures from RPC failures. But with the recent work to populate `ErrorInfo` for local failures we *could* start telling this failures apparent. For example, we could add a `gcloud-cpp/auth: true` metadata entry to the error info.
We would need to change all the retry loops to treat these errors as transient failures.
Contributor guide
Research direction
No files or tests are named. Start by reviewing the recent ErrorInfo work for local failures and tracing the retry loops across the C++ client libraries; done means credential-fetch failures are distinguishable and treated as transient, including for non-idempotent operations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, grpc
- Domain
- authentication, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100