[ 
https://issues.apache.org/jira/browse/AVRO-732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12985746#action_12985746
 ] 

Holger Hoffstätte commented on AVRO-732:
----------------------------------------

My vote would be to:

- get rid of AvroRemoteException in interfaces
- serialize service-level remote exceptions & pass them through (most 
exceptions are serializable)
- throw AvroRemoteExceptions for caught non-RuntimeExceptions, i.e. transport 
errors as cause

AvroRemoteException should therefore not be a subclass of IOException.

This allows clients and any client-side infrastructure (proxy interceptors 
etc.) to distinguish between interface-declared service exceptions and 
undeclared transport exceptions via AvroRemoteExceptions with a cause.


> 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
>
> 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.
-
You can reply to this email to add a comment to the issue online.

Reply via email to