start_election();
elector.stop_participating();
out << "stopped responding to quorum, initiated new election";
- } else if (command == "ops") {
- (void)op_tracker.dump_ops_in_flight(f);
} else if (command == "sessions") {
f->open_array_section("sessions");
for (auto p : session_map.sessions) {
f->dump_object("session", *p);
}
f->close_section();
- } else if (command == "dump_historic_ops") {
- if (!op_tracker.dump_historic_ops(f)) {
- err << "op_tracker tracking is not enabled now, so no ops are tracked currently, even those get stuck. \
- please enable \"mon_enable_op_tracker\", and the tracker will start to track new ops received afterwards.";
- }
- } else if (command == "dump_historic_ops_by_duration" ) {
- if (op_tracker.dump_historic_ops(f, true)) {
- err << "op_tracker tracking is not enabled now, so no ops are tracked currently, even those get stuck. \
- please enable \"mon_enable_op_tracker\", and the tracker will start to track new ops received afterwards.";
- }
- } else if (command == "dump_historic_slow_ops") {
- if (op_tracker.dump_historic_slow_ops(f, {})) {
- err << "op_tracker tracking is not enabled now, so no ops are tracked currently, even those get stuck. \
- please enable \"mon_enable_op_tracker\", and the tracker will start to track new ops received afterwards.";
+ } else if (command == "dump_ops_in_flight" ||
+ command == "ops" ||
+ command == "dump_historic_ops" ||
+ command == "dump_historic_ops_by_duration" ||
+ command == "dump_historic_slow_ops") {
+ const string error_str = "op_tracker tracking is not enabled now, so no ops are tracked currently, \
+even those get stuck. Please enable \"mon_enable_op_tracker\", and the tracker \
+will start to track new ops received afterwards.";
+ if (command == "dump_historic_ops") {
+ if (!op_tracker.dump_historic_ops(f)) {
+ err << error_str;
+ r = -EINVAL;
+ goto abort;
+ }
+ } else if (command == "dump_historic_ops_by_duration" ) {
+ if (!op_tracker.dump_historic_ops(f, true)) {
+ err << error_str;
+ r = -EINVAL;
+ goto abort;
+ }
+ } else if (command == "dump_historic_slow_ops") {
+ if (!op_tracker.dump_historic_slow_ops(f, {})) {
+ err << error_str;
+ r = -EINVAL;
+ goto abort;
+ }
+ } else if (command == "ops" ||
+ command == "dump_ops_in_flight") {
+ if (!op_tracker.dump_ops_in_flight(f)) {
+ err << error_str;
+ r = -EINVAL;
+ goto abort;
+ }
}
} else if (command == "quorum") {
string quorumcmd;
// debug options - observed, not handled
"mon_debug_extra_checks",
"mon_debug_block_osdmap_trim",
+ "mon_enable_op_tracker",
NULL
};
return KEYS;
scrub_update_interval(scrub_interval);
}});
}
+
+ if (changed.count("mon_enable_op_tracker")) {
+ op_tracker.set_tracking(conf.get_val<bool>("mon_enable_op_tracker"));
+ }
}
void Monitor::update_log_clients()