Skip to content

fix(grpc): align unsupported operation status - #1059

Open
dangzitou wants to merge 1 commit into
a2aproject:mainfrom
dangzitou:agent/fix-unsupported-operation-grpc-status
Open

fix(grpc): align unsupported operation status#1059
dangzitou wants to merge 1 commit into
a2aproject:mainfrom
dangzitou:agent/fix-unsupported-operation-grpc-status

Conversation

@dangzitou

Copy link
Copy Markdown

Description

Align UnsupportedOperationError with the A2A gRPC specification by mapping it to FAILED_PRECONDITION instead of UNIMPLEMENTED. Update the existing server and client mapping assertions, plus the handler mapping documentation.

  • Follow the CONTRIBUTING Guide.
  • Use a Conventional Commits PR title.
  • Ensure the affected tests pass.
  • Appropriate documentation was updated.

Reproduction

On current main, changing only the eight existing GrpcHandlerTest expectations for paths that emit UnsupportedOperationError produced 8 consistent failures out of 42 tests:

expected: <FAILED_PRECONDITION> but was: <UNIMPLEMENTED>

Verification

Run with OpenJDK 17:

mvn -DskipTests install -pl transport/grpc,client/transport/grpc -am
mvn -pl transport/grpc test
mvn -pl client/transport/grpc test

Results:

  • transport/grpc: 42 tests passed
  • client/transport/grpc: 9 tests passed
  • all 12 prerequisite/affected reactor modules compiled and installed successfully

A root mvn clean install was also attempted, but the unrelated client/transport/jsonrpc tests could not bind/use their hard-coded local endpoint because 127.0.0.1:4001 was already occupied by another local application. The two changed gRPC modules were fully tested separately above.

This fixes #1051

@dangzitou
dangzitou marked this pull request as ready for review August 12, 2026 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: UnsupportedOperationError gRPC status should be FAILED_PRECONDITION per spec

1 participant