This is an automated email from the ASF dual-hosted git repository. zhangyifan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 4537be98d0542d99ecbe4674197b9d894c3eb4e5 Author: Alexey Serbin <[email protected]> AuthorDate: Fri Nov 18 15:31:57 2022 -0800 [master] set tablet_history_max_age_sec for master This patch sets --tablet_history_max_age_sec to 300 seconds by default for kudu-master process. Since masters always scan data at the latest available snapshot, keeping long history of the system tablet doesn't make much sense. The default setting of --tablet_history_max_age_sec for tablet servers has been set to 7 days since logical backup/restore has been implemented, but storing that much history for system catalog doesn't make much sense. Change-Id: I289b68638230b71f36064b7ce61602ba9b4d3456 Reviewed-on: http://gerrit.cloudera.org:8080/19256 Tested-by: Alexey Serbin <[email protected]> Reviewed-by: Yifan Zhang <[email protected]> --- src/kudu/master/master_runner.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/kudu/master/master_runner.cc b/src/kudu/master/master_runner.cc index 2a2e7277d..851531257 100644 --- a/src/kudu/master/master_runner.cc +++ b/src/kudu/master/master_runner.cc @@ -39,6 +39,7 @@ #include "kudu/consensus/consensus.proxy.h" #include "kudu/consensus/consensus_meta_manager.h" #include "kudu/consensus/metadata.pb.h" +#include "kudu/consensus/opid.pb.h" #include "kudu/fs/fs_manager.h" #include "kudu/gutil/macros.h" #include "kudu/gutil/map-util.h" @@ -52,7 +53,6 @@ #include "kudu/master/master_options.h" #include "kudu/master/sys_catalog.h" #include "kudu/rpc/messenger.h" -#include "kudu/rpc/response_callback.h" #include "kudu/rpc/rpc.h" #include "kudu/rpc/rpc_controller.h" #include "kudu/tablet/metadata.pb.h" @@ -326,6 +326,7 @@ Status ClearLocalSystemCatalogAndCopy(const HostPort& src_hp) { void SetMasterFlagDefaults() { constexpr int32_t kDefaultRpcServiceQueueLength = 100; + constexpr int32_t kDefaultTabletHistoryMaxAgeSec = 300; // Reset some default values before parsing gflags. CHECK_NE("", SetCommandLineOptionWithMode( @@ -346,6 +347,17 @@ void SetMasterFlagDefaults() { "rpc_service_queue_length", to_string(kDefaultRpcServiceQueueLength).c_str(), SET_FLAGS_DEFAULT)); + // Master always reads the latest data snapshot from the system catalog and + // never uses any specific timestatmp in past for a read snapshot. With that, + // here isn't much sense to keep long chain of UNDO deltas in addition to the + // latest version in the MVCC. Keeping short history of deltas frees CPU + // cycles, memory, and IO bandwidth that otherwise would be consumed by + // background maintenance jobs running compactions. In addition, less disk + // space is consumed to store the system tablet's data. + CHECK_NE("", SetCommandLineOptionWithMode( + "tablet_history_max_age_sec", + to_string(kDefaultTabletHistoryMaxAgeSec).c_str(), + SET_FLAGS_DEFAULT)); // Setting the default value of the 'force_block_cache_capacity' flag to // 'false' makes the corresponding group validator enforce proper settings // for the memory limit and the cfile cache capacity.
