mirror of
https://github.com/apple/foundationdb.git
synced 2025-05-31 01:37:54 +08:00
Merge remote-tracking branch 'sfc/bugfixes/machines-attrition-debugging' into bugfixes/machines-attrition-debugging
This commit is contained in:
commit
2310584a05
@ -1350,7 +1350,8 @@ public:
|
||||
bool isAvailable() const override {
|
||||
std::vector<ProcessInfo*> processesLeft, processesDead;
|
||||
for (auto processInfo : getAllProcesses()) {
|
||||
if (processInfo->isAvailableClass()) {
|
||||
if (processInfo->isAvailableClass() &&
|
||||
!processInfo->drProcess) { // Only checks availability of main cluster
|
||||
if (processInfo->isExcluded() || processInfo->isCleared() || !processInfo->isAvailable()) {
|
||||
processesDead.push_back(processInfo);
|
||||
} else {
|
||||
@ -1866,7 +1867,7 @@ public:
|
||||
int protectedWorker = 0, unavailable = 0, excluded = 0, cleared = 0;
|
||||
|
||||
for (auto processInfo : getAllProcesses()) {
|
||||
if (processInfo->isAvailableClass()) {
|
||||
if (processInfo->isAvailableClass() && processInfo->drProcess != isMainCluster) {
|
||||
if (processInfo->isExcluded()) {
|
||||
processesDead.push_back(processInfo);
|
||||
excluded++;
|
||||
@ -2083,7 +2084,7 @@ public:
|
||||
(kt == RebootAndDelete) || (kt == RebootProcessAndDelete))) {
|
||||
std::vector<ProcessInfo*> processesLeft, processesDead;
|
||||
for (auto processInfo : getAllProcesses()) {
|
||||
if (processInfo->isAvailableClass()) {
|
||||
if (processInfo->isAvailableClass() && !processInfo->drProcess) { // TODO: Reboot DR processes as well
|
||||
if (processInfo->isExcluded() || processInfo->isCleared() || !processInfo->isAvailable()) {
|
||||
processesDead.push_back(processInfo);
|
||||
} else if (protectedAddresses.count(processInfo->address) ||
|
||||
|
@ -2172,6 +2172,19 @@ void setupSimulatedSystem(std::vector<Future<Void>>* systemActors,
|
||||
}
|
||||
deterministicRandom()->randomShuffle(coordinatorAddresses);
|
||||
|
||||
for (const auto& coordinators : extraCoordinatorAddresses) {
|
||||
for (int i = 0; i < (coordinators.size() / 2) + 1; i++) {
|
||||
TraceEvent("ProtectCoordinator")
|
||||
.detail("Address", coordinators[i])
|
||||
.detail("Coordinators", describe(coordinators));
|
||||
g_simulator->protectedAddresses.insert(
|
||||
NetworkAddress(coordinators[i].ip, coordinators[i].port, true, coordinators[i].isTLS()));
|
||||
if (coordinators[i].port == 2) {
|
||||
g_simulator->protectedAddresses.insert(NetworkAddress(coordinators[i].ip, 1, true, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ASSERT_EQ(coordinatorAddresses.size(), coordinatorCount);
|
||||
ClusterConnectionString conn(coordinatorAddresses, "TestCluster:0"_sr);
|
||||
if (useHostname) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user