You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by yu...@apache.org on 2015/05/02 00:10:51 UTC

[2/6] cassandra git commit: Fix streaming hang when retrying

Fix streaming hang when retrying

patch by yukim; reviewed by jmckenzie for CASSANDRA-9132


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

Branch: refs/heads/cassandra-2.1
Commit: a11bc78656dd4740960c0a1eb6265f910337a16b
Parents: 1e35fa4
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri May 1 16:52:47 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri May 1 16:52:47 2015 -0500

----------------------------------------------------------------------
 CHANGES.txt                                                   | 1 +
 .../cassandra/streaming/messages/IncomingFileMessage.java     | 7 +++++++
 2 files changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a11bc786/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 2dabbf9..e9287ec 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -57,6 +57,7 @@
    (CASSANDRA-8808)
  * Fix MT mismatch between empty and GC-able data (CASSANDRA-8979)
  * Fix incorrect validation when snapshotting single table (CASSANDRA-8056)
+ * Fix streaming hang when retrying (CASSANDRA-9132)
 
 
 2.0.14

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a11bc786/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 a403390..5e0e087 100644
--- a/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
+++ b/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
@@ -46,8 +46,15 @@ public class IncomingFileMessage extends StreamMessage
             {
                 return new IncomingFileMessage(reader.read(in), header);
             }
+            catch (IOException eof)
+            {
+                // Reading from remote failed(i.e. reached EOF before reading expected length of data).
+                // This can be caused by network/node failure thus we are not retrying
+                throw eof;
+            }
             catch (Throwable e)
             {
+                // Otherwise, we can retry
                 session.doRetry(header, e);
                 return null;
             }