[
https://issues.apache.org/jira/browse/AVRO-732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sébastien Launay updated AVRO-732:
----------------------------------
Attachment: AVRO-732-remove-generated-remote-exception-2012-12-17.patch
I made the following modifications:
- AvroRemoteException is now a subclass of Exception
- Generic & Specific still uses AvroRemoteException for declared exception
- Reflect does not use AvroRemoteException at all
- every requestor/responder undeclared error is now wrapped into an
AvroRuntimeException
- Requestor API has been changed to throw {{AvroRemoteException}},
{{IOException}} and implicitly {{AvroRuntimeException}}
This breaks user code for sure but it is not too bad I think.
You can find the new modifications in an attached squashed commit or here:
https://github.com/slaunay/avro/commits/enhancement/AVRO-732-remove-generated-remote-exception
Let me know what you think and if altering the Requestor API to have something
clearer but not backward compatible is good idea.
> Generated protocol's method should not throw AvroRemoteException
> ----------------------------------------------------------------
>
> Key: AVRO-732
> URL: https://issues.apache.org/jira/browse/AVRO-732
> Project: Avro
> Issue Type: Bug
> Components: java
> Reporter: Sharad Agarwal
> Fix For: 1.8.0
>
> Attachments:
> AVRO-732-remove-generated-remote-exception-2012-12-11.patch,
> AVRO-732-remove-generated-remote-exception-2012-12-17.patch
>
>
> If user does NOT define the throws clause in the idl, the code is generated
> with "throws AvroRemoteException" clause. However on throwing the
> AvroRemoteException from the implementation, the serialization fails. This is
> not intuitive to users.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira