Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
If a decorator inside
RetryingClient
directly returns a failed response, it may not completeRequestLog
. ARetryingClient
that waits for the log to be completed will be hanged. https://github.com/line/armeria/blob/01f2c6f6ee49548c499b202be50fc9d3df84dd4f/core/src/main/java/com/linecorp/armeria/client/retry/RetryingClient.java#L375-L379I encountered the problem when
OauthClient
received an invalid response that completes.getAccessToken()
exceptionally. https://github.com/line/armeria/blob/01f2c6f6ee49548c499b202be50fc9d3df84dd4f/oauth2/src/main/java/com/linecorp/armeria/client/auth/oauth2/OAuth2Client.java#L63-L69Related: https://github.com/line/armeria/pull/4834
We need to think more about how to solve this, but the approach should be to remove access to RequestLog from RetryingClient.