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:50 UTC

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

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 1e35fa4b5 -> a11bc7865
  refs/heads/cassandra-2.1 6d06f32a7 -> 0276c2aab
  refs/heads/trunk be6295ede -> bbc796dfd


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.0
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;
             }


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

Posted by yu...@apache.org.
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/trunk
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;
             }


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

Posted by yu...@apache.org.
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;
             }


[4/6] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by yu...@apache.org.
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/0276c2aa
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0276c2aa
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0276c2aa

Branch: refs/heads/trunk
Commit: 0276c2aab72c7b18b9015b0491013d958dafc46a
Parents: 6d06f32 a11bc78
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri May 1 16:56:30 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri May 1 16:56:30 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/0276c2aa/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index a6e4e41,e9287ec..a8cd1db
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -13,93 -4,10 +13,94 @@@ Merged from 2.0
   * Allow scrub to handle corrupted compressed chunks (CASSANDRA-9140)
   * Fix assertion error when resetlocalschema is run during repair (CASSANDRA-9249)
   * Disable single sstable tombstone compactions for DTCS by default (CASSANDRA-9234)
 - * Do more agressive ttl expiration checks to be able to
 -   drop more sstables (CASSANDRA-8243)
   * IncomingTcpConnection thread is not named (CASSANDRA-9262)
   * Close incoming connections when MessagingService is stopped (CASSANDRA-9238)
++ * Fix streaming hang when retrying (CASSANDRA-9132)
 +
 +
 +2.1.5
 + * Re-add deprecated cold_reads_to_omit param for backwards compat (CASSANDRA-9203)
 + * Make anticompaction visible in compactionstats (CASSANDRA-9098)
 + * Improve nodetool getendpoints documentation about the partition
 +   key parameter (CASSANDRA-6458)
 + * Don't check other keyspaces for schema changes when an user-defined
 +   type is altered (CASSANDRA-9187)
 + * Allow takeColumnFamilySnapshot to take a list of tables (CASSANDRA-8348)
 + * Limit major sstable operations to their canonical representation (CASSANDRA-8669)
 + * cqlsh: Add tests for INSERT and UPDATE tab completion (CASSANDRA-9125)
 + * cqlsh: quote column names when needed in COPY FROM inserts (CASSANDRA-9080)
 + * Add generate-idea-files target to build.xml (CASSANDRA-9123)
 + * Do not load read meter for offline operations (CASSANDRA-9082)
 + * cqlsh: Make CompositeType data readable (CASSANDRA-8919)
 + * cqlsh: Fix display of triggers (CASSANDRA-9081)
 + * Fix NullPointerException when deleting or setting an element by index on
 +   a null list collection (CASSANDRA-9077)
 + * Buffer bloom filter serialization (CASSANDRA-9066)
 + * Fix anti-compaction target bloom filter size (CASSANDRA-9060)
 + * Make FROZEN and TUPLE unreserved keywords in CQL (CASSANDRA-9047)
 + * Prevent AssertionError from SizeEstimatesRecorder (CASSANDRA-9034)
 + * Avoid overwriting index summaries for sstables with an older format that
 +   does not support downsampling; rebuild summaries on startup when this
 +   is detected (CASSANDRA-8993)
 + * Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
 + * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
 + * Fix AssertionError when binding nested collections in DELETE (CASSANDRA-8900)
 + * Check for overlap with non-early sstables in LCS (CASSANDRA-8739)
 + * Only calculate max purgable timestamp if we have to (CASSANDRA-8914)
 + * (cqlsh) Greatly improve performance of COPY FROM (CASSANDRA-8225)
 + * IndexSummary effectiveIndexInterval is now a guideline, not a rule (CASSANDRA-8993)
 + * Use correct bounds for page cache eviction of compressed files (CASSANDRA-8746)
 + * SSTableScanner enforces its bounds (CASSANDRA-8946)
 + * Cleanup cell equality (CASSANDRA-8947)
 + * Introduce intra-cluster message coalescing (CASSANDRA-8692)
 + * DatabaseDescriptor throws NPE when rpc_interface is used (CASSANDRA-8839)
 + * Don't check if an sstable is live for offline compactions (CASSANDRA-8841)
 + * Don't set clientMode in SSTableLoader (CASSANDRA-8238)
 + * Fix SSTableRewriter with disabled early open (CASSANDRA-8535)
 + * Allow invalidating permissions and cache time (CASSANDRA-8722)
 + * Log warning when queries that will require ALLOW FILTERING in Cassandra 3.0
 +   are executed (CASSANDRA-8418)
 + * Fix cassandra-stress so it respects the CL passed in user mode (CASSANDRA-8948)
 + * Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
 + * cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
 + * Use long for key count in cfstats (CASSANDRA-8913)
 + * Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
 + * Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
 + * Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
 + * Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
 + * Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
 + * Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
 + * Fix commitlog getPendingTasks to not increment (CASSANDRA-8856)
 + * Fix parallelism adjustment in range and secondary index queries
 +   when the first fetch does not satisfy the limit (CASSANDRA-8856)
 + * Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
 + * Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
 + * Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
 + * Improve assertions in Memory (CASSANDRA-8792)
 + * Fix SSTableRewriter cleanup (CASSANDRA-8802)
 + * Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
 + * 'nodetool info' prints exception against older node (CASSANDRA-8796)
 + * Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
 + * Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
 + * Enforce SSTableReader.first/last (CASSANDRA-8744)
 + * Cleanup SegmentedFile API (CASSANDRA-8749)
 + * Avoid overlap with early compaction replacement (CASSANDRA-8683)
 + * Safer Resource Management++ (CASSANDRA-8707)
 + * Write partition size estimates into a system table (CASSANDRA-7688)
 + * cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
 +   (CASSANDRA-8154)
 + * Show progress of streaming in nodetool netstats (CASSANDRA-8886)
 + * IndexSummaryBuilder utilises offheap memory, and shares data between
 +   each IndexSummary opened from it (CASSANDRA-8757)
 + * markCompacting only succeeds if the exact SSTableReader instances being 
 +   marked are in the live set (CASSANDRA-8689)
 + * cassandra-stress support for varint (CASSANDRA-8882)
 + * Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
 + * Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
 + * Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
 + * Correctly identify 2i datadir from older versions (CASSANDRA-9116)
 +Merged from 2.0:
 + * Ignore gossip SYNs after shutdown (CASSANDRA-9238)
   * Avoid overflow when calculating max sstable size in LCS (CASSANDRA-9235)
   * Make sstable blacklisting work with compression (CASSANDRA-9138)
   * Do not attempt to rebuild indexes if no index accepts any column (CASSANDRA-9196)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0276c2aa/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
index 8569b88,5e0e087..9866d1e
--- a/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
+++ b/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
@@@ -47,10 -46,16 +47,17 @@@ public class IncomingFileMessage extend
              {
                  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)
 +            catch (Throwable t)
              {
 +                JVMStabilityInspector.inspectThrowable(t);
+                 // Otherwise, we can retry
 -                session.doRetry(header, e);
 +                session.doRetry(header, t);
                  return null;
              }
          }


[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk

Posted by yu...@apache.org.
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: bbc796dfd092e01c8c42e1885819f6ba193260f9
Parents: be6295e 0276c2a
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri May 1 16:56:37 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri May 1 16:56:37 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/bbc796df/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bbc796df/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
----------------------------------------------------------------------


[5/6] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by yu...@apache.org.
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/0276c2aa
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0276c2aa
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0276c2aa

Branch: refs/heads/cassandra-2.1
Commit: 0276c2aab72c7b18b9015b0491013d958dafc46a
Parents: 6d06f32 a11bc78
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri May 1 16:56:30 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri May 1 16:56:30 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/0276c2aa/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index a6e4e41,e9287ec..a8cd1db
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -13,93 -4,10 +13,94 @@@ Merged from 2.0
   * Allow scrub to handle corrupted compressed chunks (CASSANDRA-9140)
   * Fix assertion error when resetlocalschema is run during repair (CASSANDRA-9249)
   * Disable single sstable tombstone compactions for DTCS by default (CASSANDRA-9234)
 - * Do more agressive ttl expiration checks to be able to
 -   drop more sstables (CASSANDRA-8243)
   * IncomingTcpConnection thread is not named (CASSANDRA-9262)
   * Close incoming connections when MessagingService is stopped (CASSANDRA-9238)
++ * Fix streaming hang when retrying (CASSANDRA-9132)
 +
 +
 +2.1.5
 + * Re-add deprecated cold_reads_to_omit param for backwards compat (CASSANDRA-9203)
 + * Make anticompaction visible in compactionstats (CASSANDRA-9098)
 + * Improve nodetool getendpoints documentation about the partition
 +   key parameter (CASSANDRA-6458)
 + * Don't check other keyspaces for schema changes when an user-defined
 +   type is altered (CASSANDRA-9187)
 + * Allow takeColumnFamilySnapshot to take a list of tables (CASSANDRA-8348)
 + * Limit major sstable operations to their canonical representation (CASSANDRA-8669)
 + * cqlsh: Add tests for INSERT and UPDATE tab completion (CASSANDRA-9125)
 + * cqlsh: quote column names when needed in COPY FROM inserts (CASSANDRA-9080)
 + * Add generate-idea-files target to build.xml (CASSANDRA-9123)
 + * Do not load read meter for offline operations (CASSANDRA-9082)
 + * cqlsh: Make CompositeType data readable (CASSANDRA-8919)
 + * cqlsh: Fix display of triggers (CASSANDRA-9081)
 + * Fix NullPointerException when deleting or setting an element by index on
 +   a null list collection (CASSANDRA-9077)
 + * Buffer bloom filter serialization (CASSANDRA-9066)
 + * Fix anti-compaction target bloom filter size (CASSANDRA-9060)
 + * Make FROZEN and TUPLE unreserved keywords in CQL (CASSANDRA-9047)
 + * Prevent AssertionError from SizeEstimatesRecorder (CASSANDRA-9034)
 + * Avoid overwriting index summaries for sstables with an older format that
 +   does not support downsampling; rebuild summaries on startup when this
 +   is detected (CASSANDRA-8993)
 + * Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
 + * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
 + * Fix AssertionError when binding nested collections in DELETE (CASSANDRA-8900)
 + * Check for overlap with non-early sstables in LCS (CASSANDRA-8739)
 + * Only calculate max purgable timestamp if we have to (CASSANDRA-8914)
 + * (cqlsh) Greatly improve performance of COPY FROM (CASSANDRA-8225)
 + * IndexSummary effectiveIndexInterval is now a guideline, not a rule (CASSANDRA-8993)
 + * Use correct bounds for page cache eviction of compressed files (CASSANDRA-8746)
 + * SSTableScanner enforces its bounds (CASSANDRA-8946)
 + * Cleanup cell equality (CASSANDRA-8947)
 + * Introduce intra-cluster message coalescing (CASSANDRA-8692)
 + * DatabaseDescriptor throws NPE when rpc_interface is used (CASSANDRA-8839)
 + * Don't check if an sstable is live for offline compactions (CASSANDRA-8841)
 + * Don't set clientMode in SSTableLoader (CASSANDRA-8238)
 + * Fix SSTableRewriter with disabled early open (CASSANDRA-8535)
 + * Allow invalidating permissions and cache time (CASSANDRA-8722)
 + * Log warning when queries that will require ALLOW FILTERING in Cassandra 3.0
 +   are executed (CASSANDRA-8418)
 + * Fix cassandra-stress so it respects the CL passed in user mode (CASSANDRA-8948)
 + * Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
 + * cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
 + * Use long for key count in cfstats (CASSANDRA-8913)
 + * Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
 + * Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
 + * Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
 + * Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
 + * Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
 + * Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
 + * Fix commitlog getPendingTasks to not increment (CASSANDRA-8856)
 + * Fix parallelism adjustment in range and secondary index queries
 +   when the first fetch does not satisfy the limit (CASSANDRA-8856)
 + * Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
 + * Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
 + * Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
 + * Improve assertions in Memory (CASSANDRA-8792)
 + * Fix SSTableRewriter cleanup (CASSANDRA-8802)
 + * Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
 + * 'nodetool info' prints exception against older node (CASSANDRA-8796)
 + * Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
 + * Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
 + * Enforce SSTableReader.first/last (CASSANDRA-8744)
 + * Cleanup SegmentedFile API (CASSANDRA-8749)
 + * Avoid overlap with early compaction replacement (CASSANDRA-8683)
 + * Safer Resource Management++ (CASSANDRA-8707)
 + * Write partition size estimates into a system table (CASSANDRA-7688)
 + * cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
 +   (CASSANDRA-8154)
 + * Show progress of streaming in nodetool netstats (CASSANDRA-8886)
 + * IndexSummaryBuilder utilises offheap memory, and shares data between
 +   each IndexSummary opened from it (CASSANDRA-8757)
 + * markCompacting only succeeds if the exact SSTableReader instances being 
 +   marked are in the live set (CASSANDRA-8689)
 + * cassandra-stress support for varint (CASSANDRA-8882)
 + * Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
 + * Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
 + * Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
 + * Correctly identify 2i datadir from older versions (CASSANDRA-9116)
 +Merged from 2.0:
 + * Ignore gossip SYNs after shutdown (CASSANDRA-9238)
   * Avoid overflow when calculating max sstable size in LCS (CASSANDRA-9235)
   * Make sstable blacklisting work with compression (CASSANDRA-9138)
   * Do not attempt to rebuild indexes if no index accepts any column (CASSANDRA-9196)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0276c2aa/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
index 8569b88,5e0e087..9866d1e
--- a/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
+++ b/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java
@@@ -47,10 -46,16 +47,17 @@@ public class IncomingFileMessage extend
              {
                  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)
 +            catch (Throwable t)
              {
 +                JVMStabilityInspector.inspectThrowable(t);
+                 // Otherwise, we can retry
 -                session.doRetry(header, e);
 +                session.doRetry(header, t);
                  return null;
              }
          }