Description
Currently Java internally adds a type at the start of each protocol message's error list for system errors. This is used when an exception is encountered on the server while executing an RPC that does not match one of the messages declared errors. The type is "string", so it will never conflict with another error, since all other errors are defined as records.
For example, if a protocol has a message like:
"foo": { "request": [], "response": "null", "errors": ["MyError"] }
Then errors are written and read with the schema ["string", "MyError"], although that schema never appears publicly.
This should either be documented or changed.
Attachments
Attachments
Issue Links
- is related to
-
AVRO-558 Java server serializing error union schema branch number incorrectly for single-branch unions
- Closed
- relates to
-
AVRO-509 ruby impl should include system errors in every protocol
- Open
-
AVRO-573 Need to include Handshake Response when handling a system error on the Java server side
- Closed
-
AVRO-560 Python impl should include system errors in every protocol
- Closed
-
AVRO-561 Add RPC interop test that exercises error and system error code path.
- Open