Merge branch 'cassandra-2.0' into cassandra-2.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4e269111 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4e269111 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4e269111 Branch: refs/heads/cassandra-2.2 Commit: 4e2691110bde17a54a1b378d5727cc6dcd156300 Parents: f3ca368 2beb66e Author: Yuki Morishita <yu...@apache.org> Authored: Tue May 26 12:16:34 2015 -0500 Committer: Yuki Morishita <yu...@apache.org> Committed: Tue May 26 12:16:34 2015 -0500 ---------------------------------------------------------------------- .../cassandra/streaming/messages/IncomingFileMessage.java | 8 ++++++++ 1 file changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e269111/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java index 9866d1e,99662d0..494af85 --- a/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java +++ b/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java @@@ -53,11 -52,18 +53,19 @@@ public class IncomingFileMessage extend // This can be caused by network/node failure thus we are not retrying throw eof; } - catch (Throwable e) + catch (Throwable t) { + // Throwable can be Runtime error containing IOException. + // In that case we don't want to retry. - Throwable cause = e; ++ Throwable cause = t; + while ((cause = cause.getCause()) != null) + { + if (cause instanceof IOException) + throw (IOException) cause; + } + JVMStabilityInspector.inspectThrowable(t); // Otherwise, we can retry - session.doRetry(header, e); + session.doRetry(header, t); return null; } }