[
https://issues.apache.org/jira/browse/AVRO-914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Philip Zeyliger updated AVRO-914:
---------------------------------
Attachment: AVRO-914.patch.txt
Attached patch does instanceof before cast. Wraps if it can't cast.
It passes "mvn test".
> SpecificResponder casts Throwable to Exception; fails for OutOfMemoryError
> --------------------------------------------------------------------------
>
> Key: AVRO-914
> URL: https://issues.apache.org/jira/browse/AVRO-914
> Project: Avro
> Issue Type: Bug
> Reporter: Philip Zeyliger
> Attachments: AVRO-914.patch.txt
>
>
> I have the following stack frame in an application i'm working with:
> {quote}
> java.lang.ClassCastException: java.lang.OutOfMemoryError cannot be cast to
> java.lang.Exception
> at
> org.apache.avro.ipc.specific.SpecificResponder.respond(SpecificResponder.java:90)
>
> at org.apache.avro.ipc.Responder.respond(Responder.java:149)
> at org.apache.avro.ipc.SocketServer$Connection.run(SocketServer.java:116)
> at java.lang.Thread.run(Thread.java:662)
> {quote}
> Nothing too surprising, here's the code:
> {noformat}
> @Override
> public Object respond(Message message, Object request) throws Exception {
> ...
> } catch (InvocationTargetException e) {
> throw (Exception)e.getTargetException();
> ...
> {noformat}
> It's probably a bug that this ends up with a ClassCastException. Any
> suggestions? I don't think we can change the signature to Exception. We
> could check instanceof and wrap the Throwable if it's not an Exception?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira