mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
WAL log retention policy based on archive size.
Summary: Archive cleaning will still happen every WAL_ttl seconds but archived logs will be deleted only if archive size is greater then a WAL_size_limit value. Empty archived logs will be deleted evety WAL_ttl. Test Plan: 1. Unit tests pass. 2. Benchmark. Reviewers: emayanke, dhruba, haobo, sdong, kailiu, igor Reviewed By: emayanke CC: leveldb Differential Revision: https://reviews.facebook.net/D13869
This commit is contained in:
@@ -80,11 +80,14 @@ static void ReplicationThreadBody(void* arg) {
|
||||
|
||||
DEFINE_uint64(num_inserts, 1000, "the num of inserts the first thread should"
|
||||
" perform.");
|
||||
DEFINE_uint64(wal_ttl, 1000, "the wal ttl for the run(in seconds)");
|
||||
DEFINE_uint64(wal_ttl_seconds, 1000, "the wal ttl for the run(in seconds)");
|
||||
DEFINE_uint64(wal_size_limit_MB, 10, "the wal size limit for the run"
|
||||
"(in MB)");
|
||||
|
||||
int main(int argc, const char** argv) {
|
||||
google::SetUsageMessage(std::string("\nUSAGE:\n") + std::string(argv[0]) +
|
||||
" --num_inserts=<num_inserts> --wal_ttl=<WAL_ttl_seconds>");
|
||||
" --num_inserts=<num_inserts> --wal_ttl_seconds=<WAL_ttl_seconds>" +
|
||||
" --wal_size_limit_MB=<WAL_size_limit_MB>");
|
||||
google::ParseCommandLineFlags(&argc, const_cast<char***>(&argv), true);
|
||||
|
||||
Env* env = Env::Default();
|
||||
@@ -93,7 +96,8 @@ int main(int argc, const char** argv) {
|
||||
default_db_path += "db_repl_stress";
|
||||
Options options;
|
||||
options.create_if_missing = true;
|
||||
options.WAL_ttl_seconds = FLAGS_wal_ttl;
|
||||
options.WAL_ttl_seconds = FLAGS_wal_ttl_seconds;
|
||||
options.WAL_size_limit_MB = FLAGS_wal_size_limit_MB;
|
||||
DB* db;
|
||||
DestroyDB(default_db_path, options);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user