mirror of
https://github.com/apple/foundationdb.git
synced 2025-06-02 03:12:12 +08:00
use management api to get coordinators instead of simulator
This commit is contained in:
parent
4a69e43fe1
commit
09c48cf3ab
@ -409,17 +409,13 @@ struct RemoveServersSafelyWorkload : TestWorkload {
|
||||
state int timeouts = 0;
|
||||
loop {
|
||||
state bool safe = false;
|
||||
auto failSet = random_subset(toKillArray, deterministicRandom()->randomInt(0, toKillArray.size() + 1));
|
||||
state std::set<AddressExclusion> failSet =
|
||||
random_subset(toKillArray, deterministicRandom()->randomInt(0, toKillArray.size() + 1));
|
||||
// Exclude a coordinator under buggify, but only if fault tolerance is > 0
|
||||
if (BUGGIFY && g_simulator.desiredCoordinators > 1) {
|
||||
vector<ISimulator::ProcessInfo*> coordinators = getCoordinators();
|
||||
// why would this be empty?
|
||||
TraceEvent(SevDebug, "Checkpoint").detail("CoordinatorsSize", coordinators.size());
|
||||
if (coordinators.size()) {
|
||||
auto& randomCoordinator = deterministicRandom()->randomChoice(coordinators);
|
||||
failSet.insert(
|
||||
AddressExclusion(randomCoordinator->address.ip, randomCoordinator->address.port));
|
||||
}
|
||||
std::vector<NetworkAddress> coordinators = wait(getCoordinators(cx));
|
||||
auto& randomCoordinator = deterministicRandom()->randomChoice(coordinators);
|
||||
failSet.insert(AddressExclusion(randomCoordinator.ip, randomCoordinator.port));
|
||||
}
|
||||
toKillMarkFailedArray.resize(failSet.size());
|
||||
std::copy(failSet.begin(), failSet.end(), toKillMarkFailedArray.begin());
|
||||
@ -501,17 +497,6 @@ struct RemoveServersSafelyWorkload : TestWorkload {
|
||||
return machines;
|
||||
}
|
||||
|
||||
static vector<ISimulator::ProcessInfo*> getCoordinators() {
|
||||
vector<ISimulator::ProcessInfo*> machines;
|
||||
vector<ISimulator::ProcessInfo*> all = g_simulator.getAllProcesses();
|
||||
for (int i = 0; i < all.size(); i++) {
|
||||
if (all[i]->startingClass._class == ProcessClass::CoordinatorClass) {
|
||||
machines.push_back( all[i] );
|
||||
}
|
||||
}
|
||||
return machines;
|
||||
}
|
||||
|
||||
template <class T> static std::set<T> random_subset( std::vector<T> v, int n ) {
|
||||
std::set<T> subset;
|
||||
// No, this isn't efficient!
|
||||
|
Loading…
x
Reference in New Issue
Block a user