From 1fca3b7ddc7791cda56965a002ba4d749a2c7477 Mon Sep 17 00:00:00 2001 From: Lukas Joswiak Date: Tue, 18 Oct 2022 17:59:49 -0700 Subject: [PATCH] Modify how cluster ID tests are run in simulation --- fdbserver/workloads/MachineAttrition.actor.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fdbserver/workloads/MachineAttrition.actor.cpp b/fdbserver/workloads/MachineAttrition.actor.cpp index 9d4980efae..8653300e69 100644 --- a/fdbserver/workloads/MachineAttrition.actor.cpp +++ b/fdbserver/workloads/MachineAttrition.actor.cpp @@ -74,6 +74,7 @@ struct MachineAttritionWorkload : FailureInjectionWorkload { bool killProcess = false; bool killZone = false; bool killSelf = false; + bool killAll = false; std::vector targetIds; bool replacement = false; bool waitForVersion = false; @@ -107,6 +108,10 @@ struct MachineAttritionWorkload : FailureInjectionWorkload { killProcess = getOption(options, "killProcess"_sr, killProcess); killZone = getOption(options, "killZone"_sr, killZone); killSelf = getOption(options, "killSelf"_sr, killSelf); + killAll = + getOption(options, + "killAll"_sr, + g_network->isSimulated() && !g_simulator->extraDatabases.empty() && BUGGIFY_WITH_PROB(0.01)); targetIds = getOption(options, "targetIds"_sr, std::vector()); replacement = getOption(options, "replacement"_sr, reboot && deterministicRandom()->random01() < 0.5); waitForVersion = getOption(options, "waitForVersion"_sr, waitForVersion); @@ -357,7 +362,7 @@ struct MachineAttritionWorkload : FailureInjectionWorkload { TraceEvent("Assassination").detail("TargetDataHall", target).detail("KillType", kt); g_simulator->killDataHall(target, kt); - } else if (!g_simulator->extraDatabases.empty() && deterministicRandom()->random01() < 0.1) { + } else if (self->killAll) { state ISimulator::KillType kt = ISimulator::RebootProcessAndSwitch; TraceEvent("Assassination").detail("KillType", kt); g_simulator->killAll(kt, true);