From: Casey Bodley Date: Wed, 24 May 2023 17:24:52 +0000 (-0400) Subject: radosgw-admin: add --inject-delay-at and --inject-delay-ms X-Git-Tag: v19.0.0~857^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f815439ec59538f1d97ef27993510cace3d4fbf4;p=ceph.git radosgw-admin: add --inject-delay-at and --inject-delay-ms Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 96742ad20ba3..fbb0b14f5ef0 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -3527,6 +3527,8 @@ int main(int argc, const char **argv) std::optional inject_error_at; std::optional inject_error_code; std::optional inject_abort_at; + std::optional inject_delay_at; + ceph::timespan inject_delay = std::chrono::milliseconds(2000); rgw::zone_features::set enable_features; rgw::zone_features::set disable_features; @@ -4021,6 +4023,10 @@ int main(int argc, const char **argv) inject_error_code = atoi(val.c_str()); } else if (ceph_argparse_witharg(args, i, &val, "--inject-abort-at", (char*)NULL)) { inject_abort_at = val; + } else if (ceph_argparse_witharg(args, i, &val, "--inject-delay-at", (char*)NULL)) { + inject_delay_at = val; + } else if (ceph_argparse_witharg(args, i, &val, "--inject-delay-ms", (char*)NULL)) { + inject_delay = std::chrono::milliseconds(atoi(val.c_str())); } else if (ceph_argparse_binary_flag(args, i, &detail, NULL, "--detail", (char*)NULL)) { // do nothing } else if (ceph_argparse_witharg(args, i, &val, "--context", (char*)NULL)) { @@ -8040,6 +8046,8 @@ next: fault.inject(*inject_error_at, InjectError{code, dpp()}); } else if (inject_abort_at) { fault.inject(*inject_abort_at, InjectAbort{}); + } else if (inject_delay_at) { + fault.inject(*inject_delay_at, InjectDelay{inject_delay, dpp()}); } ret = br.execute(num_shards, fault, max_entries, dpp(), null_yield, verbose, &cout, formatter.get());