Yifan Cai created CASSANDRA-15928:
-------------------------------------

             Summary: 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


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