diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index b308b5c4e0..40d7ff8a5b 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -98,6 +98,7 @@ commitlog_directory: /var/lib/cassandra/commitlog # best_effort: stop using the failed disk and respond to requests based on # remaining available sstables. This means you WILL see obsolete # data at CL.ONE! +# ignore: ignore fatal errors and let requests fail, as in pre-1.2 Cassandra disk_failure_policy: stop # Maximum size of the key cache in memory. diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index d66c79d4f7..83c18a4f89 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -40,7 +40,7 @@ public class Config public SeedProviderDef seed_provider; public DiskAccessMode disk_access_mode = DiskAccessMode.auto; - public DiskFailurePolicy disk_failure_policy = DiskFailurePolicy.best_effort; + public DiskFailurePolicy disk_failure_policy = DiskFailurePolicy.ignore; /* initial token in the ring */ public String initial_token; @@ -198,7 +198,8 @@ public class Config public static enum DiskFailurePolicy { best_effort, - stop + stop, + ignore, } public static enum RequestSchedulerId diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java index ed68a1b841..22a2066e88 100644 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@ -162,6 +162,9 @@ public class CassandraDaemon Table.removeUnreadableSSTables(directory); } break; + case ignore: + // already logged, so left nothing to do + break; default: throw new IllegalStateException(); }