mds heartbeat grace: 60
mon:
mon osd crush smoke test: false
+ osd:
+ osd fast shutdown: false
valgrind:
mon: [--tool=memcheck, --leak-check=full, --show-reachable=yes]
osd: [--tool=memcheck]
osd max object namespace len: 64
mon:
mon osd crush smoke test: false
+ osd:
+ osd fast shutdown: false
valgrind:
mon: [--tool=memcheck, --leak-check=full, --show-reachable=yes]
osd: [--tool=memcheck]
debug refs: 5
mon:
mon osd crush smoke test: false
+ osd:
+ osd fast shutdown: false
log-whitelist:
- overall HEALTH_
# valgrind is slow.. we might get PGs stuck peering etc
osd heartbeat grace: 40
mon:
mon osd crush smoke test: false
+ osd:
+ osd fast shutdown: false
valgrind:
mon: [--tool=memcheck, --leak-check=full, --show-reachable=yes]
osd: [--tool=memcheck]
osd heartbeat grace: 40
mon:
mon osd crush smoke test: false
+ osd:
+ osd fast shutdown: false
valgrind:
mon: [--tool=memcheck, --leak-check=full, --show-reachable=yes]
osd: [--tool=memcheck]
OPTION(osd_op_history_slow_op_threshold, OPT_DOUBLE) // track the op if over this threshold
OPTION(osd_target_transaction_size, OPT_INT) // to adjust various transactions that batch smaller items
OPTION(osd_failsafe_full_ratio, OPT_FLOAT) // what % full makes an OSD "full" (failsafe)
+OPTION(osd_fast_shutdown, OPT_BOOL)
OPTION(osd_fast_fail_on_connection_refused, OPT_BOOL) // immediately mark OSDs as down once they refuse to accept connections
OPTION(osd_pg_object_context_cache_count, OPT_INT)
.set_default(.97)
.set_description(""),
+ Option("osd_fast_shutdown", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
+ .set_default(true)
+ .set_description("Fast, immediate shutdown")
+ .set_long_description("Setting this to false makes the OSD do a slower teardown of all state when it receives a SIGINT or SIGTERM or when shutting down for any other reason. That slow shutdown is primarilyy useful for doing memory leak checking with valgrind."),
+
Option("osd_fast_fail_on_connection_refused", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
.set_default(true)
.set_description(""),
int OSD::shutdown()
{
+ if (cct->_conf->osd_fast_shutdown) {
+ derr << "*** Immediate shutdown (osd_fast_shutdown=true) ***" << dendl;
+ cct->_log->flush();
+ _exit(0);
+ }
+
if (!service.prepare_to_stop())
return 0; // already shutting down
osd_lock.lock();
osd class dir = $OBJCLASS_PATH
osd class load list = *
osd class default list = *
+ osd fast shutdown = false
filestore wbthrottle xfs ios start flusher = 10
filestore wbthrottle xfs ios hard limit = 20