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

        

Reply via email to