Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 5a571c629 -> 2beb66e87
  refs/heads/cassandra-2.1 f3ca3686d -> 4e2691110
  refs/heads/cassandra-2.2 c17e44a79 -> 6734e94b8
  refs/heads/trunk 747e1005b -> 5e7cdc2cb


Handle runtime error case in CASSANDRA-9132


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2beb66e8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2beb66e8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2beb66e8

Branch: refs/heads/cassandra-2.0
Commit: 2beb66e87e9a8115ab81f3274be0f29f4257641a
Parents: 5a571c6
Author: Yuki Morishita <yu...@apache.org>
Authored: Tue May 26 12:05:41 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Tue May 26 12:05:41 2015 -0500

----------------------------------------------------------------------
 .../cassandra/streaming/messages/IncomingFileMessage.java    | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2beb66e8/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java 
b/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
index 5e0e087..99662d0 100644
--- a/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
+++ b/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
@@ -54,6 +54,14 @@ public class IncomingFileMessage extends StreamMessage
             }
             catch (Throwable e)
             {
+                // Throwable can be Runtime error containing IOException.
+                // In that case we don't want to retry.
+                Throwable cause = e;
+                while ((cause = cause.getCause()) != null)
+                {
+                   if (cause instanceof IOException)
+                       throw (IOException) cause;
+                }
                 // Otherwise, we can retry
                 session.doRetry(header, e);
                 return null;

Reply via email to