A streamOutSession keeps sstables references forever if the remote end dies
---------------------------------------------------------------------------
Key: CASSANDRA-3216
URL: https://issues.apache.org/jira/browse/CASSANDRA-3216
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 1.0.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
Fix For: 1.0.0
Attachments: 3216.patch
A streamOutSession acquire a reference on the sstable it will stream and
release them as soon as each sstable has been fully streamed. However, since a
stream session has currently no means to know when it failed, we'll keep
references indefinitely (meaning until next restart) if their is a failure. One
way a stream session could very easily fail is if the remote end dies. We must
make sure we correctly release sstable references when that happens.
Note that it won't be bulletproof, there is probably other means by which a
streaming could fail: a bug in the code throwing an exception, no space left on
the receiving end, etc... But those are unlikely enough that I propose to care
only for the case of a node dying for now and leave the bullet-proofing to
CASSANDRA-3112.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira