You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ad...@apache.org on 2017/09/14 03:27:14 UTC
[2/2] kudu git commit: rename suicide_on_eio flag to crash_on_eio
rename suicide_on_eio flag to crash_on_eio
The name `suicide_on_eio` seems a bit controversial/insensitive. As we
move forward in documenting its usage with disk failures, it's probably
best rename it.
Change-Id: I6c83156865b0f8ac80a20701558119ace6c05399
Reviewed-on: http://gerrit.cloudera.org:8080/7994
Reviewed-by: Adar Dembo <ad...@cloudera.com>
Tested-by: Kudu Jenkins
Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/eed74ee6
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/eed74ee6
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/eed74ee6
Branch: refs/heads/master
Commit: eed74ee6c640221b050fe188b5473f95366ac0e2
Parents: 6fef9ca
Author: Andrew Wong <aw...@cloudera.com>
Authored: Thu Sep 7 01:54:37 2017 -0700
Committer: Adar Dembo <ad...@cloudera.com>
Committed: Thu Sep 14 03:26:50 2017 +0000
----------------------------------------------------------------------
docs/release_notes.adoc | 2 +-
src/kudu/fs/block_manager-test.cc | 4 ++--
src/kudu/fs/data_dirs-test.cc | 4 ++--
src/kudu/fs/fs_manager-test.cc | 6 +++---
src/kudu/fs/log_block_manager-test.cc | 4 ++--
src/kudu/integration-tests/disk_failure-itest.cc | 2 +-
src/kudu/util/env-test.cc | 4 ++--
src/kudu/util/env_posix.cc | 10 +++++-----
8 files changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kudu/blob/eed74ee6/docs/release_notes.adoc
----------------------------------------------------------------------
diff --git a/docs/release_notes.adoc b/docs/release_notes.adoc
index 9547186..d033e35 100644
--- a/docs/release_notes.adoc
+++ b/docs/release_notes.adoc
@@ -66,7 +66,7 @@
startup. This feature is experimental; by default, Kudu will crash if it
experiences a disk failure. When enabled, tablets with any data on the failed
disk will not be opened and will be replicated as needed. To enable this, set
- the `--suicide_on_eio` flag to `false`. Additionally, there is a configurable
+ the `--crash_on_eio` flag to `false`. Additionally, there is a configurable
tradeoff between a newly added tablet's tolerance to disk failures and its
parallelization of I/O via the `--fs_target_data_dirs_per_tablet` flag.
Tablets that are spread across fewer disks are less likely to be affected by a
http://git-wip-us.apache.org/repos/asf/kudu/blob/eed74ee6/src/kudu/fs/block_manager-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager-test.cc b/src/kudu/fs/block_manager-test.cc
index 91fd210..0ffd69b 100644
--- a/src/kudu/fs/block_manager-test.cc
+++ b/src/kudu/fs/block_manager-test.cc
@@ -76,7 +76,7 @@ DECLARE_int32(fs_data_dirs_full_disk_cache_seconds);
DECLARE_int32(fs_target_data_dirs_per_tablet);
DECLARE_string(block_manager);
DECLARE_double(env_inject_eio);
-DECLARE_bool(suicide_on_eio);
+DECLARE_bool(crash_on_eio);
// Generic block manager metrics.
METRIC_DECLARE_gauge_uint64(block_manager_blocks_open_reading);
@@ -870,7 +870,7 @@ TYPED_TEST(BlockManagerTest, TestMetadataOkayDespiteFailure) {
FLAGS_log_container_preallocate_bytes = 8 * 1024;
// Force some file operations to fail.
- FLAGS_suicide_on_eio = false;
+ FLAGS_crash_on_eio = false;
FLAGS_env_inject_eio = 0.1;
// Compact log block manager metadata aggressively at startup; injected
http://git-wip-us.apache.org/repos/asf/kudu/blob/eed74ee6/src/kudu/fs/data_dirs-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/data_dirs-test.cc b/src/kudu/fs/data_dirs-test.cc
index 8f22778..c6dd144 100644
--- a/src/kudu/fs/data_dirs-test.cc
+++ b/src/kudu/fs/data_dirs-test.cc
@@ -50,7 +50,7 @@ using std::vector;
using std::unique_ptr;
using strings::Substitute;
-DECLARE_bool(suicide_on_eio);
+DECLARE_bool(crash_on_eio);
DECLARE_double(env_inject_eio);
DECLARE_int32(fs_data_dirs_full_disk_cache_seconds);
DECLARE_int32(fs_target_data_dirs_per_tablet);
@@ -395,7 +395,7 @@ TEST_F(DataDirManagerTest, TestOpenWithFailedDirs) {
DataDirManagerOptions(), &dd_manager_));
// Kill the first non-metadata directory.
- FLAGS_suicide_on_eio = false;
+ FLAGS_crash_on_eio = false;
FLAGS_env_inject_eio = 1.0;
FLAGS_env_inject_eio_globs = JoinPathSegments(test_roots_[1], "**");
http://git-wip-us.apache.org/repos/asf/kudu/blob/eed74ee6/src/kudu/fs/fs_manager-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/fs_manager-test.cc b/src/kudu/fs/fs_manager-test.cc
index 9612826..beba6f1 100644
--- a/src/kudu/fs/fs_manager-test.cc
+++ b/src/kudu/fs/fs_manager-test.cc
@@ -58,7 +58,7 @@ using std::unordered_set;
using std::vector;
using strings::Substitute;
-DECLARE_bool(suicide_on_eio);
+DECLARE_bool(crash_on_eio);
DECLARE_double(env_inject_eio);
DECLARE_string(env_inject_eio_globs);
DECLARE_string(umask);
@@ -271,7 +271,7 @@ TEST_F(FsManagerTestBase, TestCreateWithFailedDirs) {
// canonicalization by failing the dirname.
vector<string> data_roots = JoinPathSegmentsV(data_paths, "root");
- FLAGS_suicide_on_eio = false;
+ FLAGS_crash_on_eio = false;
FLAGS_env_inject_eio = 1.0;
// Fail a directory, avoiding the metadata directory.
@@ -296,7 +296,7 @@ TEST_F(FsManagerTestBase, TestOpenWithFailedDirs) {
ASSERT_OK(fs_manager()->CreateInitialFileSystemLayout());
// Now fail one of the directories.
- FLAGS_suicide_on_eio = false;
+ FLAGS_crash_on_eio = false;
FLAGS_env_inject_eio = 1.0;
FLAGS_env_inject_eio_globs = JoinPathSegments(Substitute("$0,$0", data_paths[1]), "**");
ReinitFsManager(wal_path, data_roots);
http://git-wip-us.apache.org/repos/asf/kudu/blob/eed74ee6/src/kudu/fs/log_block_manager-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/log_block_manager-test.cc b/src/kudu/fs/log_block_manager-test.cc
index 9401758..a69f026 100644
--- a/src/kudu/fs/log_block_manager-test.cc
+++ b/src/kudu/fs/log_block_manager-test.cc
@@ -72,7 +72,7 @@ using std::vector;
using strings::Substitute;
DECLARE_bool(cache_force_single_shard);
-DECLARE_bool(suicide_on_eio);
+DECLARE_bool(crash_on_eio);
DECLARE_double(env_inject_eio);
DECLARE_double(log_container_excess_space_before_cleanup_fraction);
DECLARE_double(log_container_live_metadata_before_compact_ratio);
@@ -1329,7 +1329,7 @@ TEST_F(LogBlockManagerTest, TestOpenWithFailedDirectories) {
bm_.reset(CreateBlockManager(nullptr));
// Fail one of the directories, chosen randomly.
- FLAGS_suicide_on_eio = false;
+ FLAGS_crash_on_eio = false;
FLAGS_env_inject_eio = 1;
int failed_idx = Random(SeedRandom()).Next() % kNumDirs;
FLAGS_env_inject_eio_globs = JoinPathSegments(test_dirs[failed_idx], "**");
http://git-wip-us.apache.org/repos/asf/kudu/blob/eed74ee6/src/kudu/integration-tests/disk_failure-itest.cc
----------------------------------------------------------------------
diff --git a/src/kudu/integration-tests/disk_failure-itest.cc b/src/kudu/integration-tests/disk_failure-itest.cc
index cfa337d..a59f4a5 100644
--- a/src/kudu/integration-tests/disk_failure-itest.cc
+++ b/src/kudu/integration-tests/disk_failure-itest.cc
@@ -89,7 +89,7 @@ TEST_F(DiskFailureITest, TestFailDuringServerStartup) {
vector<string> extra_flags = {
Substitute("--env_inject_eio_globs=$0", JoinPathSegments(failed_dir, "**")),
"--env_inject_eio=1.0",
- "--suicide_on_eio=false",
+ "--crash_on_eio=false",
};
ts->mutable_flags()->insert(ts->mutable_flags()->begin(), extra_flags.begin(), extra_flags.end());
ts->Shutdown();
http://git-wip-us.apache.org/repos/asf/kudu/blob/eed74ee6/src/kudu/util/env-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/env-test.cc b/src/kudu/util/env-test.cc
index a6d4294..6c30dce 100644
--- a/src/kudu/util/env-test.cc
+++ b/src/kudu/util/env-test.cc
@@ -66,7 +66,7 @@
#include "kudu/util/test_util.h"
DECLARE_bool(never_fsync);
-DECLARE_bool(suicide_on_eio);
+DECLARE_bool(crash_on_eio);
DECLARE_double(env_inject_eio);
DECLARE_int32(env_inject_short_read_bytes);
DECLARE_int32(env_inject_short_write_bytes);
@@ -1046,7 +1046,7 @@ TEST_F(TestEnv, TestGetExtentMap) {
TEST_F(TestEnv, TestInjectEIO) {
// Use two files to fail with.
- FLAGS_suicide_on_eio = false;
+ FLAGS_crash_on_eio = false;
const string kTestRWPath1 = GetTestPath("test_env_rw_file1");
unique_ptr<RWFile> rw1;
ASSERT_OK(env_->NewRWFile(kTestRWPath1, &rw1));
http://git-wip-us.apache.org/repos/asf/kudu/blob/eed74ee6/src/kudu/util/env_posix.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/env_posix.cc b/src/kudu/util/env_posix.cc
index 3d45c13..9dd5e2b 100644
--- a/src/kudu/util/env_posix.cc
+++ b/src/kudu/util/env_posix.cc
@@ -73,8 +73,8 @@
#include <linux/falloc.h>
#include <linux/fiemap.h>
#include <linux/fs.h>
-#include <linux/kernel.h>
#include <linux/magic.h>
+#include <linux/sysinfo.h>
#include <sys/ioctl.h>
#include <sys/sysinfo.h>
#include <sys/vfs.h> // IWYU pragma: keep
@@ -168,12 +168,12 @@ DEFINE_bool(env_use_ioctl_hole_punch_on_xfs, true,
TAG_FLAG(env_use_ioctl_hole_punch_on_xfs, advanced);
TAG_FLAG(env_use_ioctl_hole_punch_on_xfs, experimental);
-DEFINE_bool(suicide_on_eio, true,
+DEFINE_bool(crash_on_eio, true,
"Kill the process if an I/O operation results in EIO. If false, "
"I/O resulting in EIOs will return the status IOError and leave "
"error-handling up to the caller.");
-TAG_FLAG(suicide_on_eio, advanced);
-TAG_FLAG(suicide_on_eio, experimental);
+TAG_FLAG(crash_on_eio, advanced);
+TAG_FLAG(crash_on_eio, experimental);
DEFINE_bool(never_fsync, false,
"Never fsync() anything to disk. This is used by certain test cases to "
@@ -308,7 +308,7 @@ Status IOError(const std::string& context, int err_number) {
case EOPNOTSUPP:
return Status::NotSupported(context, ErrnoToString(err_number), err_number);
case EIO:
- if (FLAGS_suicide_on_eio) {
+ if (FLAGS_crash_on_eio) {
// TODO(awong): This is very, very coarse-grained. A more comprehensive
// approach is described in KUDU-616.
LOG(FATAL) << "Fatal I/O error, context: " << context;