Feign mixing up two separate request/response within the same client
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- java, spring-boot
Direzione di ricerca
Inizia con l’interfaccia Feign PlaceholderResource e FeignConfiguration, quindi confronta i log delle richieste concorrenti, gli URL e gli identificativi di correlazione mostrati nel report. Il lavoro è completato quando viene riprodotto lo scambio delle risposte tra richieste e viene identificato il componente o la configurazione Feign responsabile di restituire a una chiamata API la risposta di un’altra.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi
I have been using feign for calls from one spring boot application to another in an infrastructure which has a large volume of API calls. Recently I have been getting an intermittent issue which says that the response received to one of the feign client calls cannot be resolved to the Object that it expects. Upon further debugging, I saw that the response received on this feign call is an unexpected response as it is supposed to be received on a completely different feign call.
Feign logs:
Jul 5, 2023 @ 18:33:44.518 [PlaceholderResource#getPlaceholderType] ---> GET http://placeholder-url.com/v5/getplaceholdertype/123/type/1234 HTTP/1.1
Jul 5, 2023 @ 18:33:44.518 [PlaceholderResource#getPlaceholderType] X-MM-CORRELATION-ID: correlation-id-1
Jul 5, 2023 @ 18:33:44.518 [PlaceholderResource#getPlaceholderType] ---> END HTTP (0-byte body)
Jul 5, 2023 @ 18:33:44.518 [PlaceholderResource#getPlaceholderType] <--- HTTP/1.1 200 OK (0ms)
Jul 5, 2023 @ 18:33:44.518 [PlaceholderResource#getPlaceholderType] content-type: application/json
Jul 5, 2023 @ 18:33:44.518 [PlaceholderResource#getPlaceholderType] link: <http://placeholder-url.com/v5/api/getplaceholderobject/123/user/123123/placeholderobject?param1=123123¶m2=true¶m3=false&page=-1&size=100>; rel="last" <http://placeholder-url.com/v5/api/getplaceholderobject/123/user/123123/placeholderobject?param1=123123¶m2=true¶m3=false&page=-1&size=100>; rel="first"
Jul 5, 2023 @ 18:33:44.519 [PlaceholderResource#getPlaceholderType] vary: accept-encoding
Jul 5, 2023 @ 18:33:44.519 [PlaceholderResource#getPlaceholderType] x-mm-correlation-id: correlation-id-2
Jul 5, 2023 @ 18:33:44.518 [PlaceholderResource#getPlaceholderType] date: Wed 05 Jul 2023 14:33:34 GMT
Jul 5, 2023 @ 18:33:44.519 [PlaceholderResource#getPlaceholderType] x-total-count: 0
Jul 5, 2023 @ 18:33:44.519 [PlaceholderResource#getPlaceholderType] x-result-count: 0-0/0
Jul 5, 2023 @ 18:33:44.519 [PlaceholderResource#getPlaceholderType] []
Jul 5, 2023 @ 18:33:44.519 [PlaceholderResource#getPlaceholderType] <--- END HTTP (2-byte body)
Jul 5, 2023 @ 18:33:44.519 [PlaceholderResource#getPlaceholderType]
The URL returned in the link header is sent back from a different URL used for getPlaceholderObjects API and not the getPlaceholderType API
This [] response is expected for the getPlaceholderObjects API. Even the correlation ID header we're receiving is for a different API call which is supposed to be running in a different thread.
Feign interface:
@FeignClient(
name = "placeholderResource",
url = "${placeholder.api.url}")
@Headers("Content-Type: application/json")
public interface PlaceholderResource {
/**
* Get placeholder type
*/
@GetMapping(
value = "/getplaceholdertype/{referrerId}/type/{placeholderTypeId}")
PlaceholderType getPlaceholderType(@PathVariable("referrerId") final Integer referrerId,
@PathVariable("placeholderTypeId") final Long placeholderTypeId);
/**
* Get placeholder object(s)
*/
@GetMapping(
value = "/getplaceholderobject/{referrerId}/user/{userId}/placeholderobject")
PlaceholderObject[] getPlaceholderObjects(@PathVariable("referrerId") final Integer referrerId,
@PathVariable("userId") final Long userId,
@RequestParam("param1") final List<Long> param1,
@RequestParam("param2") final String param2,
@RequestParam("param3") final Boolean param3);
}
Feign configuration:
/**
* Configuration class for feign client(s).
*/
@Configuration
@EnableDiscoveryClient
public class FeignConfiguration {
@Bean
public FeignClientEncodingProperties feignClientEncodingProperties() {
return new FeignClientEncodingProperties();
}
@Bean
public ErrorDecoder feignErrorDecoder() {
return new CustomFeignErrorDecoder();
}
}
- Lingua principale
- Java
- Stelle
- 9.8k
- Fork
- 2k
- Merge medio
- 1h 15m
- PR unite (30g)
- 39
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OpenFeign/feign
-
DefaultAsyncClient never completes the returned future when Client throws ErrorForse già presa @hutiefang76 l’ha presa 15 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Response.charset ignores charset after another Content-Type parameterForse già presa @hutiefang76 l’ha presa 15 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
UriUtils ignores allowReservedCharacters=false when the input has no percent tripletForse già presa @hutiefang76 l’ha presa 15 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Java11 Http2Client loses response header value order and duplicate occurrencesForse già presa @hutiefang76 l’ha presa 14 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
Java11 Http2Client rejects documented zero connect and read timeoutsForse già presa @hutiefang76 l’ha presa 14 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di OpenFeign/feign
Issue simili
-
5.0.x backport enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
spring-cloud/spring-cloud-function#1507 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
open-learning-exchange/myplanet#18484 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-driven-fuzzing bug claude Minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
linagora/twake-calendar-side-service#1417 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
line/armeria#7109 · 3 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
open-feature/java-sdk-contrib#1966 ·
I maintainer di solito rispondono entro 1 giorno