[Feat]: A2A Client Support fallback to re-select url and transport when first choise fails.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Examine el paso de construcción del cliente en el que se seleccionan el transporte y la URL, probablemente en una clase como A2AClientBuilder. Comprenda AgentInterface y la lógica de selección del transporte. El mecanismo de fallback tendría que integrarse en el método sendRequest para reintentar con transportes alternativos cuando se produzca un fallo, posiblemente utilizando un umbral de fallos. Revise la sección 5.6.3 de la especificación A2A para obtener contexto sobre las reglas de selección del transporte.
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.
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
- Lenguaje dominante
- Java
- Estrellas
- 495
- Forks
- 174
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 49
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 a2aproject/a2a-java
-
[Bug]: NullPointerException in A2ACommonFieldMapper when a struct field has an explicit null value Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
a2aproject/a2a-java#1160 · 2 reacciones ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
a2aproject/a2a-java#1158 · 4 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
a2aproject/a2a-java#1142 · 1 asignado ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
a2aproject/a2a-java#1012 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
a2aproject/a2a-java#464 · 1 comentario ·
Todos los issues de a2aproject/a2a-java
Issues similares
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
apache/flink-agents#1152 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
jenkinsci/blueocean-plugin#5417 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
objectionary/eo-graphs#75 ·