[ 
https://issues.apache.org/jira/browse/CASSANDRA-15928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yifan Cai updated CASSANDRA-15928:
----------------------------------
    Attachment: intellij_custom_insepction.xml

> Throw FSWriteError upon write failures in order to apply DiskFailurePolicy
> --------------------------------------------------------------------------
>
>                 Key: CASSANDRA-15928
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15928
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Other
>            Reporter: Yifan Cai
>            Assignee: Yifan Cai
>            Priority: Normal
>         Attachments: intellij_custom_insepction.xml
>
>
> Active handling of FSError in AbstractLocalAwareExecutorService was 
> introduced in CASSANDRA-14993. 
>  
> However, in the current code base, there are places that catch the 
> IOException but not wrap it with FSError, hence not triggering the 
> DiskFailurePolicy. Especially when the bad disk no longer permits write 
> operations, it could leads to the mutation stage backup. Therefore I propose 
> to fix the IOException handling in those cases. 
>  
> From the code inspection, those 6 places are current not re-throwing an 
> IOException with FSWriteError.
>  # org.apache.cassandra.triggers.CustomClassLoader#addClassPath throws 
> IOError. Invoked in TriggerExecutor's constructor
>  # org.apache.cassandra.io.util.FileUtils#renameWithConfirm throws 
> RuntimeException
>  # org.apache.cassandra.io.util.FileUtils#truncate throws RuntimeException
>  # org.apache.cassandra.io.util.FileUtils#write throws RuntimeException
>  # org.apache.cassandra.db.compaction.LeveledManifest#sendBackToL0 throws 
> RuntimeException. Invokes rewriteSSTableMetadata
>  # org.apache.cassandra.io.sstable.SSTableHeaderFix#writeNewMetadata throws 
> RuntimeException. Invokes rewriteSSTableMetadata



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to