Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

How to retry SocketTimeoutException?

Aperta
#3,074 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
java
Ambito
networking

Direzione di ricerca

Inizia tracciando la gestione di retryable-exception di Feign e il modo in cui le IOExceptions raggiungono errorDecoder; l'issue non indica alcun file o test. Confronta il workaround esistente con custom-decoder con il comportamento di retry desiderato e considera il lavoro completato solo dopo che i maintainer avranno chiarito quali Exceptions e quale configurazione devono essere supportate.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug question

This is a rhetorical question. Feign hard-codes which exceptions it considers retryable, and IOExceptions are never retried. Which is incredibly stupid, because I/O exceptions are the main reason to retry network requests! Additionally, IOExceptions are never sent to the errorDecoder and there's almost nothing that can be done to retry them.

Feign seems so nice, but it's poorly thought through. I've had to rewrite half the classes to fix various major annoyances and oversights. Other examples include the logger class splitting each request/response over many log messages (ignoring the various ways logs are shipped and stored), the jackson decoder trying to decode byte[] and String (making it unusable as a default decoder), and now this. Btw, I worked around this issue via a custom decoder that catches IOExceptions, but this likely isn't a complete solution.

Lingua principale
Java
Stelle
9.8k
Fork
1.9k
Merge medio
1g 11h
PR unite (30g)
34

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenFeign/feign

Tutte le issue di OpenFeign/feign

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.