Merge pull request #5387 from sfc-gh-tclinkenbeard/improve-worker-const-correctness
Add const qualifiers to several parameters in `worker.actor.cpp`
This commit is contained in:
commit
bccb09f9dd
|
|
@ -4858,18 +4858,18 @@ ACTOR Future<Void> clusterControllerCore(ClusterControllerFullInterface interf,
|
|||
++self.getWorkersRequests;
|
||||
vector<WorkerDetails> workers;
|
||||
|
||||
for (auto& it : self.id_worker) {
|
||||
for (auto const& [id, worker] : self.id_worker) {
|
||||
if ((req.flags & GetWorkersRequest::NON_EXCLUDED_PROCESSES_ONLY) &&
|
||||
self.db.config.isExcludedServer(it.second.details.interf.addresses())) {
|
||||
self.db.config.isExcludedServer(worker.details.interf.addresses())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((req.flags & GetWorkersRequest::TESTER_CLASS_ONLY) &&
|
||||
it.second.details.processClass.classType() != ProcessClass::TesterClass) {
|
||||
worker.details.processClass.classType() != ProcessClass::TesterClass) {
|
||||
continue;
|
||||
}
|
||||
|
||||
workers.push_back(it.second.details);
|
||||
workers.push_back(worker.details);
|
||||
}
|
||||
|
||||
req.reply.send(workers);
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ struct TesterInterface {
|
|||
|
||||
ACTOR Future<Void> testerServerCore(TesterInterface interf,
|
||||
Reference<ClusterConnectionFile> ccf,
|
||||
Reference<AsyncVar<struct ServerDBInfo>> serverDBInfo,
|
||||
Reference<AsyncVar<struct ServerDBInfo> const> serverDBInfo,
|
||||
LocalityData locality);
|
||||
|
||||
enum test_location_t { TEST_HERE, TEST_ON_SERVERS, TEST_ON_TESTERS };
|
||||
|
|
|
|||
|
|
@ -880,8 +880,9 @@ class Database openDBOnServer(Reference<AsyncVar<ServerDBInfo> const> const& db,
|
|||
TaskPriority taskID = TaskPriority::DefaultEndpoint,
|
||||
LockAware = LockAware::False,
|
||||
EnableLocalityLoadBalance = EnableLocalityLoadBalance::True);
|
||||
ACTOR Future<Void> extractClusterInterface(Reference<AsyncVar<Optional<struct ClusterControllerFullInterface>>> a,
|
||||
Reference<AsyncVar<Optional<struct ClusterInterface>>> b);
|
||||
ACTOR Future<Void> extractClusterInterface(
|
||||
Reference<AsyncVar<Optional<struct ClusterControllerFullInterface>> const> in,
|
||||
Reference<AsyncVar<Optional<struct ClusterInterface>>> out);
|
||||
|
||||
ACTOR Future<Void> fdbd(Reference<ClusterConnectionFile> ccf,
|
||||
LocalityData localities,
|
||||
|
|
@ -925,7 +926,7 @@ ACTOR Future<Void> storageServer(
|
|||
connFile); // changes pssi->id() to be the recovered ID); // changes pssi->id() to be the recovered ID
|
||||
ACTOR Future<Void> masterServer(MasterInterface mi,
|
||||
Reference<AsyncVar<ServerDBInfo> const> db,
|
||||
Reference<AsyncVar<Optional<ClusterControllerFullInterface>>> ccInterface,
|
||||
Reference<AsyncVar<Optional<ClusterControllerFullInterface>> const> ccInterface,
|
||||
ServerCoordinators serverCoordinators,
|
||||
LifetimeToken lifetime,
|
||||
bool forceRecovery);
|
||||
|
|
|
|||
|
|
@ -1981,7 +1981,7 @@ ACTOR Future<Void> masterCore(Reference<MasterData> self) {
|
|||
|
||||
ACTOR Future<Void> masterServer(MasterInterface mi,
|
||||
Reference<AsyncVar<ServerDBInfo> const> db,
|
||||
Reference<AsyncVar<Optional<ClusterControllerFullInterface>>> ccInterface,
|
||||
Reference<AsyncVar<Optional<ClusterControllerFullInterface>> const> ccInterface,
|
||||
ServerCoordinators coordinators,
|
||||
LifetimeToken lifetime,
|
||||
bool forceRecovery) {
|
||||
|
|
|
|||
|
|
@ -315,7 +315,7 @@ struct CompoundWorkload : TestWorkload {
|
|||
|
||||
TestWorkload* getWorkloadIface(WorkloadRequest work,
|
||||
VectorRef<KeyValueRef> options,
|
||||
Reference<AsyncVar<ServerDBInfo>> dbInfo) {
|
||||
Reference<AsyncVar<ServerDBInfo> const> dbInfo) {
|
||||
Value testName = getOption(options, LiteralStringRef("testName"), LiteralStringRef("no-test-specified"));
|
||||
WorkloadContext wcx;
|
||||
wcx.clientId = work.clientId;
|
||||
|
|
@ -350,7 +350,7 @@ TestWorkload* getWorkloadIface(WorkloadRequest work,
|
|||
return workload;
|
||||
}
|
||||
|
||||
TestWorkload* getWorkloadIface(WorkloadRequest work, Reference<AsyncVar<ServerDBInfo>> dbInfo) {
|
||||
TestWorkload* getWorkloadIface(WorkloadRequest work, Reference<AsyncVar<ServerDBInfo> const> dbInfo) {
|
||||
if (work.options.size() < 1) {
|
||||
TraceEvent(SevError, "TestCreationError").detail("Reason", "No options provided");
|
||||
fprintf(stderr, "ERROR: No options were provided for workload.\n");
|
||||
|
|
@ -602,7 +602,7 @@ ACTOR Future<Void> runWorkloadAsync(Database cx,
|
|||
|
||||
ACTOR Future<Void> testerServerWorkload(WorkloadRequest work,
|
||||
Reference<ClusterConnectionFile> ccf,
|
||||
Reference<AsyncVar<struct ServerDBInfo>> dbInfo,
|
||||
Reference<AsyncVar<struct ServerDBInfo> const> dbInfo,
|
||||
LocalityData locality) {
|
||||
state WorkloadInterface workIface;
|
||||
state bool replied = false;
|
||||
|
|
@ -661,7 +661,7 @@ ACTOR Future<Void> testerServerWorkload(WorkloadRequest work,
|
|||
|
||||
ACTOR Future<Void> testerServerCore(TesterInterface interf,
|
||||
Reference<ClusterConnectionFile> ccf,
|
||||
Reference<AsyncVar<struct ServerDBInfo>> dbInfo,
|
||||
Reference<AsyncVar<struct ServerDBInfo> const> dbInfo,
|
||||
LocalityData locality) {
|
||||
state PromiseStream<Future<Void>> addWorkload;
|
||||
state Future<Void> workerFatalError = actorCollection(addWorkload.getFuture());
|
||||
|
|
|
|||
|
|
@ -604,7 +604,7 @@ ACTOR Future<Void> registrationClient(Reference<AsyncVar<Optional<ClusterControl
|
|||
}
|
||||
|
||||
// Returns true if `address` is used in the db (indicated by `dbInfo`) transaction system and in the db's primary DC.
|
||||
bool addressInDbAndPrimaryDc(const NetworkAddress& address, Reference<AsyncVar<ServerDBInfo>> dbInfo) {
|
||||
bool addressInDbAndPrimaryDc(const NetworkAddress& address, Reference<AsyncVar<ServerDBInfo> const> dbInfo) {
|
||||
const auto& dbi = dbInfo->get();
|
||||
|
||||
if (dbi.master.addresses().contains(address)) {
|
||||
|
|
@ -661,7 +661,7 @@ bool addressInDbAndPrimaryDc(const NetworkAddress& address, Reference<AsyncVar<S
|
|||
return false;
|
||||
}
|
||||
|
||||
bool addressesInDbAndPrimaryDc(const NetworkAddressList& addresses, Reference<AsyncVar<ServerDBInfo>> dbInfo) {
|
||||
bool addressesInDbAndPrimaryDc(const NetworkAddressList& addresses, Reference<AsyncVar<ServerDBInfo> const> dbInfo) {
|
||||
return addressInDbAndPrimaryDc(addresses.address, dbInfo) ||
|
||||
(addresses.secondaryAddress.present() && addressInDbAndPrimaryDc(addresses.secondaryAddress.get(), dbInfo));
|
||||
}
|
||||
|
|
@ -723,10 +723,10 @@ TEST_CASE("/fdbserver/worker/addressInDbAndPrimaryDc") {
|
|||
} // namespace
|
||||
|
||||
// The actor that actively monitors the health of local and peer servers, and reports anomaly to the cluster controller.
|
||||
ACTOR Future<Void> healthMonitor(Reference<AsyncVar<Optional<ClusterControllerFullInterface>>> ccInterface,
|
||||
ACTOR Future<Void> healthMonitor(Reference<AsyncVar<Optional<ClusterControllerFullInterface>> const> ccInterface,
|
||||
WorkerInterface interf,
|
||||
LocalityData locality,
|
||||
Reference<AsyncVar<ServerDBInfo>> dbInfo) {
|
||||
Reference<AsyncVar<ServerDBInfo> const> dbInfo) {
|
||||
loop {
|
||||
Future<Void> nextHealthCheckDelay = Never();
|
||||
if (dbInfo->get().recoveryState >= RecoveryState::ACCEPTING_COMMITS &&
|
||||
|
|
@ -959,7 +959,7 @@ ACTOR Future<Void> storageServerRollbackRebooter(std::set<std::pair<UID, KeyValu
|
|||
UID id,
|
||||
LocalityData locality,
|
||||
bool isTss,
|
||||
Reference<AsyncVar<ServerDBInfo>> db,
|
||||
Reference<AsyncVar<ServerDBInfo> const> db,
|
||||
std::string folder,
|
||||
ActorCollection* filesClosed,
|
||||
int64_t memoryLimit,
|
||||
|
|
@ -1006,7 +1006,7 @@ ACTOR Future<Void> storageServerRollbackRebooter(std::set<std::pair<UID, KeyValu
|
|||
ACTOR Future<Void> storageCacheRollbackRebooter(Future<Void> prevStorageCache,
|
||||
UID id,
|
||||
LocalityData locality,
|
||||
Reference<AsyncVar<ServerDBInfo>> db) {
|
||||
Reference<AsyncVar<ServerDBInfo> const> db) {
|
||||
loop {
|
||||
ErrorOr<Void> e = wait(errorOr(prevStorageCache));
|
||||
if (!e.isError()) {
|
||||
|
|
@ -1212,7 +1212,7 @@ struct SharedLogsValue {
|
|||
};
|
||||
|
||||
ACTOR Future<Void> workerServer(Reference<ClusterConnectionFile> connFile,
|
||||
Reference<AsyncVar<Optional<ClusterControllerFullInterface>>> ccInterface,
|
||||
Reference<AsyncVar<Optional<ClusterControllerFullInterface>> const> ccInterface,
|
||||
LocalityData locality,
|
||||
Reference<AsyncVar<ClusterControllerPriorityInfo>> asyncPriorityInfo,
|
||||
ProcessClass initialClass,
|
||||
|
|
@ -2044,14 +2044,14 @@ ACTOR Future<Void> workerServer(Reference<ClusterConnectionFile> connFile,
|
|||
}
|
||||
}
|
||||
|
||||
ACTOR Future<Void> extractClusterInterface(Reference<AsyncVar<Optional<ClusterControllerFullInterface>>> a,
|
||||
Reference<AsyncVar<Optional<ClusterInterface>>> b) {
|
||||
ACTOR Future<Void> extractClusterInterface(Reference<AsyncVar<Optional<ClusterControllerFullInterface>> const> in,
|
||||
Reference<AsyncVar<Optional<ClusterInterface>>> out) {
|
||||
loop {
|
||||
if (a->get().present())
|
||||
b->set(a->get().get().clientInterface);
|
||||
if (in->get().present())
|
||||
out->set(in->get().get().clientInterface);
|
||||
else
|
||||
b->set(Optional<ClusterInterface>());
|
||||
wait(a->onChange());
|
||||
out->set(Optional<ClusterInterface>());
|
||||
wait(in->onChange());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2086,7 +2086,7 @@ ACTOR Future<Void> printTimeout() {
|
|||
return Void();
|
||||
}
|
||||
|
||||
ACTOR Future<Void> printOnFirstConnected(Reference<AsyncVar<Optional<ClusterInterface>>> ci) {
|
||||
ACTOR Future<Void> printOnFirstConnected(Reference<AsyncVar<Optional<ClusterInterface>> const> ci) {
|
||||
state Future<Void> timeoutFuture = printTimeout();
|
||||
loop {
|
||||
choose {
|
||||
|
|
|
|||
|
|
@ -224,7 +224,7 @@ struct ReadWriteWorkload : KVWorkload {
|
|||
Future<Void> setup(Database const& cx) override { return _setup(cx, this); }
|
||||
Future<Void> start(Database const& cx) override { return _start(cx, this); }
|
||||
|
||||
ACTOR static Future<bool> traceDumpWorkers(Reference<AsyncVar<ServerDBInfo>> db) {
|
||||
ACTOR static Future<bool> traceDumpWorkers(Reference<AsyncVar<ServerDBInfo> const> db) {
|
||||
try {
|
||||
loop {
|
||||
choose {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ struct WorkloadContext {
|
|||
Standalone<VectorRef<KeyValueRef>> options;
|
||||
int clientId, clientCount;
|
||||
int64_t sharedRandomNumber;
|
||||
Reference<AsyncVar<struct ServerDBInfo>> dbInfo;
|
||||
Reference<AsyncVar<struct ServerDBInfo> const> dbInfo;
|
||||
|
||||
WorkloadContext();
|
||||
WorkloadContext(const WorkloadContext&);
|
||||
|
|
|
|||
Loading…
Reference in New Issue