Suggestions for the modification of 'retrievedServiceInstance == null' in RetryableFeignBlockingLoadBalancerClient#execute
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 38/100
Línea de trabajo
Comienza en RetryableFeignBlockingLoadBalancerClient.java alrededor de la línea 191 y sigue LoadBalancerUtils.executeWithLoadBalancerLifecycleProcessing. Compara su gestión de serviceInstance == null con FeignBlockingLoadBalancerClient y verifica después que los reintentos agotados eviten la resolución directa del host y produzcan el resultado esperado de servicio no disponible.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem? Please describe.
The same interface behaves completely differently in my projects. In one case, it throws a FeignException$ServiceUnavailable exception, while in the other, it throws an UnknownHostException (And it took up to 10 seconds).
After debugging, I found that the inconsistent exception behaviors were caused by the varying implementations of the feign.Client class due to the involvement of spring-retry.
Describe the solution you'd like
The RetryableFeignBlockingLoadBalancerClient appears to reference the handling approach of RetryLoadBalancerInterceptor, but it doesn't perform special handling for the case where serviceInstance == null, unlike FeignBlockingLoadBalancerClient.
I feel that for the case where serviceInstance == null, after retry attempts are exhausted, the RetryableFeignBlockingLoadBalancerClient should return a result similar to that of the FeignBlockingLoadBalancerClient.
Describe alternatives you've considered
I referenced the handling of the serviceInstance == null case in FeignBlockingLoadBalancerClient and modified RetryableFeignBlockingLoadBalancerClient accordingly. It now perfectly meets my expectations.
Additional context
In the code at RetryableFeignBlockingLoadBalancerClient.java:191, within the LoadBalancerUtils.executeWithLoadBalancerLifecycleProcessing method, the feign.Client is directly used to execute the request. Due to the reason that serviceInstance == null, the Client attempts to resolve the host (serviceId), this took too long.
- Lenguaje dominante
- Java
- Estrellas
- 1.3k
- Forks
- 835
- Merge medio
- 23 h 57 min
- PR fusionados (30 d)
- 25
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de spring-cloud/spring-cloud-openfeign
-
question
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
spring-cloud/spring-cloud-openfeign#1392 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
FeignClientsConfiguration$MicrometerConfiguration.class cannot be opened because it does not existAbiertofeedback-provided
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
spring-cloud/spring-cloud-openfeign#1379 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
waiting-for-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 57/100
spring-cloud/spring-cloud-openfeign#1344 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
waiting-for-triage
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
spring-cloud/spring-cloud-openfeign#1343 ·
Los mantenedores suelen responder en 1 día
-
waiting-for-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
spring-cloud/spring-cloud-openfeign#1340 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de spring-cloud/spring-cloud-openfeign
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
strimzi/strimzi-kafka-operator#13328 · 1 comentario · 3 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
GoogleContainerTools/jib#4538 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
OpenLiberty/ci.maven#2137 ·
Los mantenedores suelen responder en 1 día
-
Payer adjustment can exceed the balance left after copay and deductible, so claim payments add up to more than the chargePosiblemente ocupada @DG47 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
synthetichealth/synthea#1772 ·
Los mantenedores suelen responder en 13 días
-
bug dependencies
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100