Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[Bug]: gRPC errors do not include google.rpc.ErrorInfo

Ouverte
#731 1 commentaire 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

@kabir y travaille déjà.

Depuis le 12/3/2026.

  • #738 par @kabir — fermée sans fusion

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
grpc
Domaine
api, backend

Piste de recherche

Le problème concerne la gestion des erreurs gRPC dans le A2A Java SDK. Examinez l’implémentation du service gRPC et la manière dont les erreurs sont converties en réponses d’état. Les tests concernés se trouvent dans tests/compatibility/core_operations/test_error_handling.py et tests/compatibility/grpc/test_status_codes.py. Commencez par examiner la logique de mappage des erreurs, probablement dans un gestionnaire d’erreurs ou un interceptor central, et assurez-vous que google.rpc.ErrorInfo est ajouté aux détails de l’état pour les erreurs spécifiques à A2A. Vérifiez la correction en exécutant les tests TCK fournis.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

compatibility gRPC
What happened?

Summary

gRPC errors from the SUT do not include google.rpc.ErrorInfo in the status details, which is required by the A2A specification for all A2A-specific errors.

Requirement

Specification

For A2A-specific errors, implementations MUST include a google.rpc.ErrorInfo message in the status.details array with:

  • reason: The A2A error type in UPPER_SNAKE_CASE without the "Error" suffix (e.g., TASK_NOT_FOUND)
  • domain: Set to "a2a-protocol.org"
  • metadata: Optional map of additional error context

Expected behavior

When the SUT returns an A2A-specific error (e.g., TaskNotFoundError), the gRPC response should include a google.rpc.Status with a google.rpc.ErrorInfo message in the details array, encoded in the grpc-status-details-bin trailing metadata. The ErrorInfo should have reason set to the error type in UPPER_SNAKE_CASE (e.g., TASK_NOT_FOUND) and domain set to "a2a-protocol.org".

Actual behavior

The SUT returns a plain gRPC NOT_FOUND status with a message string but does not include google.rpc.ErrorInfo in the status details. The grpc-status-details-bin trailing metadata is missing or does not contain an ErrorInfo entry.

Reproducer

# Trigger TaskNotFoundError by requesting a non-existent task
grpcurl -plaintext -d '{"id": "tck-nonexistent-task-001"}' \
  localhost:9999 lf.a2a.v1.A2AService/GetTask

# Expected: gRPC NOT_FOUND with google.rpc.ErrorInfo in status.details:
#   reason: "TASK_NOT_FOUND"
#   domain: "a2a-protocol.org"
#
# Actual: gRPC NOT_FOUND without ErrorInfo in grpc-status-details-bin

TCK test

  • tests/compatibility/core_operations/test_error_handling.py::TestGrpcErrorStructure::test_grpc_error_for_nonexistent_task
  • tests/compatibility/grpc/test_status_codes.py::TestGrpcErrorInfo::test_error_info_in_status_details
Relevant log output

Code of Conduct
  • I agree to follow this project's Code of Conduct
Langage dominant
Java
Étoiles
505
Forks
187
Merge moyen
1 j 19 h
PR mergées (30 j)
22

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de a2aproject/a2a-java

Toutes les issues de a2aproject/a2a-java

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.