[Feat]: A2A Client Support fallback to re-select url and transport when first choise fails.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Esaminare il passaggio di creazione del client in cui vengono selezionati il trasporto e l’URL, probabilmente in una classe come A2AClientBuilder. Comprendere AgentInterface e la logica di selezione del trasporto. Il meccanismo di fallback dovrebbe essere integrato nel metodo sendRequest per ritentare con trasporti alternativi in caso di errore, possibilmente utilizzando una soglia per gli errori. Consultare la sezione 5.6.3 della specifica A2A per il contesto sulle regole di selezione del trasporto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is your feature request related to a problem? Please describe.
According to the spec of A2A. Clients SHOULD implement fallback logic to try alternative transports if their first choice fails. Whice in No.4 from https://a2a-protocol.org/latest/specification/#563-client-transport-selection-rules.
I see the a2a-java client only choise trasport and url during building step and no the fallback to re-choice in any time. Once the transport that choised request fail, the client will be unavailable and users should re-get agentcard and re-build a2a client to used. I think it's not Graceful degradation.
I'm not sure whether there is plan to implement this feature in a2a-java communities. I’m excited to see this fallback mechanism implemented in the client.
Describe the solution you'd like
I think there are two way to implement this featrure.
-
when client.sendRequest fails with threadhold, client do re-choice transport without current AgentInterface. And let next request use new choised transport.
-
client not only build one best matched transport during building, but build all matched protocol transport and marked which is current choice. When request failed, client do fallback with other protocol transport to do retry.
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
- Lingua principale
- Java
- Stelle
- 495
- Fork
- 174
- Merge medio
- 1g 19h
- PR unite (30g)
- 49
Guida per i contributori
Apri 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 a2aproject/a2a-java
-
[Bug]: NullPointerException in A2ACommonFieldMapper when a struct field has an explicit null value Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
a2aproject/a2a-java#1160 · 2 reazioni ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
a2aproject/a2a-java#1158 · 4 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
a2aproject/a2a-java#1142 · 1 assegnatario ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
a2aproject/a2a-java#1012 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
a2aproject/a2a-java#464 · 1 commento ·
Tutte le issue di a2aproject/a2a-java
Issue simili
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/flink-agents#1152 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
jenkinsci/blueocean-plugin#5417 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
objectionary/eo-graphs#75 ·