[1/2] git commit: Add commit_failure_policy.
Updated Branches: refs/heads/trunk 7604935ef - a6e7d1405 Add commit_failure_policy. Patch by belliottsmith, reviewed by marcuse for CASSANDRA-6364 CASSANDRA-6364 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9381b8d5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9381b8d5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9381b8d5 Branch: refs/heads/trunk Commit: 9381b8d569ae17cf2760bca266b5253e4bcd6ac2 Parents: 55b5605 Author: Marcus Eriksson marc...@apache.org Authored: Tue Feb 11 13:13:37 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Feb 11 13:13:37 2014 +0100 -- CHANGES.txt | 2 +- conf/cassandra.yaml | 8 + .../org/apache/cassandra/config/Config.java | 8 + .../cassandra/config/DatabaseDescriptor.java| 11 ++ .../BatchCommitLogExecutorService.java | 17 +++-- .../cassandra/db/commitlog/CommitLog.java | 24 + .../db/commitlog/CommitLogAllocator.java| 37 +--- .../PeriodicCommitLogExecutorService.java | 26 -- .../org/apache/cassandra/io/util/FileUtils.java | 20 ++- .../cassandra/service/StorageService.java | 19 ++ .../org/apache/cassandra/db/CommitLogTest.java | 32 + 11 files changed, 169 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 93552ef..a8114a3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,13 +9,13 @@ * Account for range/row tombstones in tombstone drop time histogram (CASSANDRA-6522) * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) + * Make commitlog failure handling configurable (CASSANDRA-6364) Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) * Compact hints after partial replay to clean out tombstones (CASSANDRA-) - 2.0.5 * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609) * Add ks.cf names to tombstone logging (CASSANDRA-6597) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index db924bb..bfe60c4 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -121,6 +121,14 @@ commitlog_directory: /var/lib/cassandra/commitlog # ignore: ignore fatal errors and let requests fail, as in pre-1.2 Cassandra disk_failure_policy: stop +# policy for commit disk failures: +# stop: shut down gossip and Thrift, leaving the node effectively dead, but +# can still be inspected via JMX. +# stop_commit: shutdown the commit log, letting writes collect but +# continuing to service reads, as in pre-2.0.5 Cassandra +# ignore: ignore fatal errors and let the batches fail +commit_failure_policy: stop + # Maximum size of the key cache in memory. # # Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index a4e4e92..2fa49f3 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -45,6 +45,7 @@ public class Config public DiskAccessMode disk_access_mode = DiskAccessMode.auto; public DiskFailurePolicy disk_failure_policy = DiskFailurePolicy.ignore; +public CommitFailurePolicy commit_failure_policy = CommitFailurePolicy.stop; /* initial token in the ring */ public String initial_token; @@ -230,6 +231,13 @@ public class Config ignore, } +public static enum CommitFailurePolicy +{ +stop, +stop_commit, +ignore, +} + public static enum RequestSchedulerId { keyspace http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index bd5db69..e1a95ab 100644 ---
git commit: Add commit_failure_policy.
Updated Branches: refs/heads/cassandra-2.0 55b5605b7 - 9381b8d56 Add commit_failure_policy. Patch by belliottsmith, reviewed by marcuse for CASSANDRA-6364 CASSANDRA-6364 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9381b8d5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9381b8d5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9381b8d5 Branch: refs/heads/cassandra-2.0 Commit: 9381b8d569ae17cf2760bca266b5253e4bcd6ac2 Parents: 55b5605 Author: Marcus Eriksson marc...@apache.org Authored: Tue Feb 11 13:13:37 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Feb 11 13:13:37 2014 +0100 -- CHANGES.txt | 2 +- conf/cassandra.yaml | 8 + .../org/apache/cassandra/config/Config.java | 8 + .../cassandra/config/DatabaseDescriptor.java| 11 ++ .../BatchCommitLogExecutorService.java | 17 +++-- .../cassandra/db/commitlog/CommitLog.java | 24 + .../db/commitlog/CommitLogAllocator.java| 37 +--- .../PeriodicCommitLogExecutorService.java | 26 -- .../org/apache/cassandra/io/util/FileUtils.java | 20 ++- .../cassandra/service/StorageService.java | 19 ++ .../org/apache/cassandra/db/CommitLogTest.java | 32 + 11 files changed, 169 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 93552ef..a8114a3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,13 +9,13 @@ * Account for range/row tombstones in tombstone drop time histogram (CASSANDRA-6522) * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) + * Make commitlog failure handling configurable (CASSANDRA-6364) Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) * Compact hints after partial replay to clean out tombstones (CASSANDRA-) - 2.0.5 * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609) * Add ks.cf names to tombstone logging (CASSANDRA-6597) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index db924bb..bfe60c4 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -121,6 +121,14 @@ commitlog_directory: /var/lib/cassandra/commitlog # ignore: ignore fatal errors and let requests fail, as in pre-1.2 Cassandra disk_failure_policy: stop +# policy for commit disk failures: +# stop: shut down gossip and Thrift, leaving the node effectively dead, but +# can still be inspected via JMX. +# stop_commit: shutdown the commit log, letting writes collect but +# continuing to service reads, as in pre-2.0.5 Cassandra +# ignore: ignore fatal errors and let the batches fail +commit_failure_policy: stop + # Maximum size of the key cache in memory. # # Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index a4e4e92..2fa49f3 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -45,6 +45,7 @@ public class Config public DiskAccessMode disk_access_mode = DiskAccessMode.auto; public DiskFailurePolicy disk_failure_policy = DiskFailurePolicy.ignore; +public CommitFailurePolicy commit_failure_policy = CommitFailurePolicy.stop; /* initial token in the ring */ public String initial_token; @@ -230,6 +231,13 @@ public class Config ignore, } +public static enum CommitFailurePolicy +{ +stop, +stop_commit, +ignore, +} + public static enum RequestSchedulerId { keyspace http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index bd5db69..e1a95ab 100644 ---