Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#731 1 Kommentar 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

@kabir arbeitet bereits daran.

Seit 12.3.2026.

  • #738 von @kabir — ohne Merge geschlossen

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
grpc
Bereich
api, backend

Rechercherichtung

Bei diesem Issue geht es um die gRPC-Fehlerbehandlung im A2A Java SDK. Untersuche die Implementierung des gRPC-Service und die Umwandlung von Fehlern in Statusantworten. Die relevanten Tests befinden sich in tests/compatibility/core_operations/test_error_handling.py und tests/compatibility/grpc/test_status_codes.py. Beginne damit, die Logik für die Fehlerzuordnung zu untersuchen, wahrscheinlich in einem zentralen Fehler-Handler oder Interceptor, und stelle sicher, dass google.rpc.ErrorInfo für A2A-spezifische Fehler zu den Statusdetails hinzugefügt wird. Überprüfe die Korrektur, indem du die bereitgestellten TCK-Tests ausführst.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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
Vorherrschende Sprache
Java
Sterne
505
Forks
187
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
22

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus a2aproject/a2a-java

Alle Issues in a2aproject/a2a-java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.