You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jay Zhuang (JIRA)" <ji...@apache.org> on 2017/11/20 03:09:00 UTC

[jira] [Created] (CASSANDRA-14060) Separate CorruptSSTableException and FSError handling policies

Jay Zhuang created CASSANDRA-14060:
--------------------------------------

             Summary: Separate CorruptSSTableException and FSError handling policies
                 Key: CASSANDRA-14060
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14060
             Project: Cassandra
          Issue Type: Improvement
          Components: Configuration
            Reporter: Jay Zhuang
            Assignee: Jay Zhuang
            Priority: Minor


Currently, if [{{disk_failure_policy}}|https://github.com/apache/cassandra/blob/trunk/conf/cassandra.yaml#L230] is set to {{stop}} (default), StorageService will shutdown for {{FSError}}, but not {{CorruptSSTableException}} [DefaultFSErrorHandler.java:40|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/DefaultFSErrorHandler.java#L40].

But when we use policy: {{die}}, it has different behave, JVM will be killed for both {{FSError}} and {{CorruptSSTableException}} [JVMStabilityInspector.java:63|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/utils/JVMStabilityInspector.java#L63]:

||{{dis_failure_policy}}|| hit {{FSError}} Exception || hit {{CorruptSSTableException}} ||
|{{stop}}| (/) stop | (x) not stop |
|{{die}}| (/) die | (/) die |

We saw {{CorruptSSTableException}} from time to time in our production, but mostly it's *not* because of a disk issue. So I would suggest having a separate policy for CorruptSSTable.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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