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
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