[ 
https://issues.apache.org/jira/browse/CASSANDRA-2088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13018965#comment-13018965
 ] 

Sylvain Lebresne commented on CASSANDRA-2088:
---------------------------------------------

bq. Is that 0001-Better-detect-failures-from-the-other-side-in-Incomi.patch? I 
don't see the connection to .tmp files. (Also: have you verified that the 
channel will actually infinite-loop returning 0? Kind of odd behavior, although 
I guess it's technically within-spec.)

Yes. IncomingStreamReader does clean the tmp file when there is an expection 
(there's an enclosing 'try catch'). The problem is that no exception is raised 
if the other side of the connection dies. What will happen then is the read 
will infinitely read 0 bytes. So this actually avoid the infinite loop 
returning 0 (and so I think answered your second question, so it wasn't very 
clear).

Note that without this patch, there is an infinite loop that will hold a socket 
open forever (and consume cpu, though very few probably in that case). So this 
is not just merely a fix of deleting the tmp files. But it does as a 
consequence of correctly raising an exception when should be.

> Temp files for failed compactions/streaming not cleaned up
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-2088
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2088
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Stu Hood
>            Assignee: Aaron Morton
>             Fix For: 0.8
>
>         Attachments: 
> 0001-Better-detect-failures-from-the-other-side-in-Incomi.patch, 
> 0001-detect-streaming-failures-and-cleanup-temp-files.patch, 
> 0002-delete-partial-sstable-if-compaction-error.patch
>
>
> From separate reports, compaction and repair are currently missing 
> opportunities to clean up tmp files after failures.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to