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: [email protected]
For additional commands, e-mail: [email protected]