You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// TODO (johscheuer): Should we also batch exclusions for storage servers? Those should be rare compared to replacements in the transaction system.
123
131
ifallowedExclusions<=0 {
132
+
ifprocessClass.IsTransaction() {
133
+
transactionSystemExclusionAllowed=false
134
+
}
124
135
contextLogger.Info("Waiting for missing processes before continuing with the exclusion", "missingProcesses", missingProcesses, "addressesToExclude", processesToExclude, "allowedExclusions", allowedExclusions, "ongoingExclusions", ongoingExclusions)
125
136
continue
126
137
}
@@ -134,7 +145,7 @@ func (e excludeProcesses) reconcile(ctx context.Context, r *FoundationDBClusterR
134
145
allowedExclusions=len(processesToExclude)
135
146
}
136
147
137
-
// TODO: As a next step we could exclude transaction (log + stateless) processes together and exclude
148
+
// TODO (johscheuer): As a next step we could exclude transaction (log + stateless) processes together and exclude
138
149
// storage processes with a separate call. This would make sure that no storage checks will block
139
150
// the exclusion of transaction processes.
140
151
@@ -149,6 +160,15 @@ func (e excludeProcesses) reconcile(ctx context.Context, r *FoundationDBClusterR
149
160
}
150
161
}
151
162
163
+
// In case that there are processes from different transaction process classes, we expect that the operator is allowed
164
+
// to exclude processes from all the different process classes. If not the operator will delay the exclusion.
165
+
if!transactionSystemExclusionAllowed {
166
+
return&requeue{
167
+
message: "more exclusions needed but not allowed, have to wait until new processes for the transaction system are up to reduce number of recoveries.",
0 commit comments