Several bugfixes to make fdb build on non-ide
This commit is contained in:
parent
6c1f64ed22
commit
f79a9594c1
|
@ -21,7 +21,7 @@
|
|||
#pragma once
|
||||
#if defined(NO_INTELLISENSE) && !defined(FDBCLIENT_BACKUP_AGENT_ACTOR_G_H)
|
||||
#define FDBCLIENT_BACKUP_AGENT_ACTOR_G_H
|
||||
#include "fdbclient/BackupAgent.actor.h"
|
||||
#include "fdbclient/BackupAgent.actor.g.h"
|
||||
#elif !defined(FDBCLIENT_BACKUP_AGENT_ACTOR_H)
|
||||
#define FDBCLIENT_BACKUP_AGENT_ACTOR_H
|
||||
|
||||
|
|
|
@ -43,6 +43,12 @@
|
|||
#define THIS_ADDR 0
|
||||
#endif
|
||||
|
||||
#ifdef NO_INTELLISENSE
|
||||
#define THIS this
|
||||
#else
|
||||
#define THIS nullptr
|
||||
#endif
|
||||
|
||||
static std::string boolToYesOrNo(bool val) { return val ? std::string("Yes") : std::string("No"); }
|
||||
|
||||
static std::string versionToString(Optional<Version> version) {
|
||||
|
@ -1348,14 +1354,15 @@ namespace fileBackup {
|
|||
// The dispatch of this batch can take multiple separate executions if the executor fails
|
||||
// so store a completion key for the dispatch finish() to set when dispatching the batch is done.
|
||||
state TaskCompletionKey dispatchCompletionKey = TaskCompletionKey::joinWith(snapshotBatchFuture);
|
||||
wait(map(dispatchCompletionKey.get(tr, taskBucket), [=](Key const& k) {
|
||||
#ifdef NO_INTELLISENSE
|
||||
config.snapshotBatchDispatchDoneKey().set(tr, k);
|
||||
#endif
|
||||
return Void();
|
||||
}));
|
||||
|
||||
wait(tr->commit());
|
||||
// this is a bad hack - but flow doesn't work well with lambda functions and caputring
|
||||
// state variables...
|
||||
auto cfg = &config;
|
||||
auto tx = &tr;
|
||||
wait(map(dispatchCompletionKey.get(tr, taskBucket), [cfg, tx](Key const& k) {
|
||||
cfg->snapshotBatchDispatchDoneKey().set(*tx, k);
|
||||
return Void();
|
||||
}));
|
||||
wait(tr->commit());
|
||||
}
|
||||
else {
|
||||
ASSERT(snapshotBatchSize.present());
|
||||
|
@ -3235,9 +3242,7 @@ namespace fileBackup {
|
|||
|
||||
ERestoreState oldState = wait(restore.stateEnum().getD(tr));
|
||||
if(oldState != ERestoreState::QUEUED && oldState != ERestoreState::STARTING) {
|
||||
#ifdef NO_INTELLISENSE
|
||||
wait(restore.logError(cx, restore_error(), format("StartFullRestore: Encountered unexpected state(%d)", oldState), this));
|
||||
#endif
|
||||
wait(restore.logError(cx, restore_error(), format("StartFullRestore: Encountered unexpected state(%d)", oldState), THIS));
|
||||
return Void();
|
||||
}
|
||||
restore.stateEnum().set(tr, ERestoreState::STARTING);
|
||||
|
@ -3324,9 +3329,7 @@ namespace fileBackup {
|
|||
|
||||
state Version firstVersion = Params.firstVersion().getOrDefault(task, invalidVersion);
|
||||
if(firstVersion == invalidVersion) {
|
||||
#ifdef NO_INTELLISENSE
|
||||
wait(restore.logError(tr->getDatabase(), restore_missing_data(), "StartFullRestore: The backup had no data.", this));
|
||||
#endif
|
||||
wait(restore.logError(tr->getDatabase(), restore_missing_data(), "StartFullRestore: The backup had no data.", THIS));
|
||||
std::string tag = wait(restore.tag().getD(tr));
|
||||
wait(success(abortRestore(tr, StringRef(tag))));
|
||||
return Void();
|
||||
|
|
|
@ -90,7 +90,7 @@ struct TesterInterface {
|
|||
};
|
||||
|
||||
ACTOR Future<Void> testerServerCore(TesterInterface interf, Reference<ClusterConnectionFile> ccf,
|
||||
Reference<AsyncVar<struct ServerDBInfo>>, LocalityData);
|
||||
Reference<AsyncVar<struct ServerDBInfo>> serverDBInfo, LocalityData locality);
|
||||
|
||||
enum test_location_t { TEST_HERE, TEST_ON_SERVERS, TEST_ON_TESTERS };
|
||||
enum test_type_t { TEST_TYPE_FROM_FILE, TEST_TYPE_CONSISTENCY_CHECK };
|
||||
|
|
|
@ -325,33 +325,37 @@ class Database openDBOnServer( Reference<AsyncVar<ServerDBInfo>> const& db, int
|
|||
ACTOR Future<Void> extractClusterInterface(Reference<AsyncVar<Optional<struct ClusterControllerFullInterface>>> a,
|
||||
Reference<AsyncVar<Optional<struct ClusterInterface>>> b);
|
||||
|
||||
ACTOR Future<Void> fdbd(Reference<ClusterConnectionFile>, LocalityData localities, ProcessClass processClass,
|
||||
ACTOR Future<Void> fdbd(Reference<ClusterConnectionFile> ccf, LocalityData localities, ProcessClass processClass,
|
||||
std::string dataFolder, std::string coordFolder, int64_t memoryLimit,
|
||||
std::string metricsConnFile, std::string metricsPrefix);
|
||||
ACTOR Future<Void> clusterController(Reference<ClusterConnectionFile>,
|
||||
ACTOR Future<Void> clusterController(Reference<ClusterConnectionFile> ccf,
|
||||
Reference<AsyncVar<Optional<ClusterControllerFullInterface>>> currentCC,
|
||||
Reference<AsyncVar<ClusterControllerPriorityInfo>> asyncPriorityInfo,
|
||||
Future<Void> recoveredDiskFiles, LocalityData locality);
|
||||
|
||||
// These servers are started by workerServer
|
||||
ACTOR Future<Void> storageServer(class IKeyValueStore* persistentData, StorageServerInterface ssi, Tag seedTag,
|
||||
class IKeyValueStore;
|
||||
class ServerCoordinators;
|
||||
class IDiskQueue;
|
||||
ACTOR Future<Void> storageServer(IKeyValueStore* persistentData, StorageServerInterface ssi, Tag seedTag,
|
||||
ReplyPromise<InitializeStorageReply> recruitReply,
|
||||
Reference<AsyncVar<ServerDBInfo>> db, std::string folder);
|
||||
ACTOR Future<Void> storageServer(class IKeyValueStore* persistentData, StorageServerInterface ssi,
|
||||
ACTOR Future<Void> storageServer(IKeyValueStore* persistentData, StorageServerInterface ssi,
|
||||
Reference<AsyncVar<ServerDBInfo>> db, std::string folder,
|
||||
Promise<Void> recovered); // changes pssi->id() to be the recovered ID
|
||||
ACTOR Future<Void> masterServer(MasterInterface mi, Reference<AsyncVar<ServerDBInfo>> db, class ServerCoordinators,
|
||||
LifetimeToken lifetime, bool forceRecovery);
|
||||
ACTOR Future<Void> masterServer(MasterInterface mi, Reference<AsyncVar<ServerDBInfo>> db,
|
||||
ServerCoordinators serverCoordinators, LifetimeToken lifetime, bool forceRecovery);
|
||||
ACTOR Future<Void> masterProxyServer(MasterProxyInterface proxy, InitializeMasterProxyRequest req,
|
||||
Reference<AsyncVar<ServerDBInfo>> db);
|
||||
ACTOR Future<Void> tLog(class IKeyValueStore* persistentData, class IDiskQueue* persistentQueue,
|
||||
ACTOR Future<Void> tLog(IKeyValueStore* persistentData, IDiskQueue* persistentQueue,
|
||||
Reference<AsyncVar<ServerDBInfo>> db, LocalityData locality,
|
||||
PromiseStream<InitializeTLogRequest> tlogRequests, UID tlogId, bool restoreFromDisk,
|
||||
Promise<Void> oldLog, Promise<Void> recovered); // changes tli->id() to be the recovered ID
|
||||
ACTOR Future<Void> monitorServerDBInfo(Reference<AsyncVar<Optional<ClusterControllerFullInterface>>> ccInterface,
|
||||
Reference<ClusterConnectionFile>, LocalityData,
|
||||
Reference<ClusterConnectionFile> ccf, LocalityData locality,
|
||||
Reference<AsyncVar<ServerDBInfo>> dbInfo);
|
||||
ACTOR Future<Void> resolver(ResolverInterface proxy, InitializeResolverRequest, Reference<AsyncVar<ServerDBInfo>> db);
|
||||
ACTOR Future<Void> resolver(ResolverInterface proxy, InitializeResolverRequest initReq,
|
||||
Reference<AsyncVar<ServerDBInfo>> db);
|
||||
ACTOR Future<Void> logRouter(TLogInterface interf, InitializeLogRouterRequest req,
|
||||
Reference<AsyncVar<ServerDBInfo>> db);
|
||||
ACTOR Future<Void> dataDistributor(DataDistributorInterface ddi, Reference<AsyncVar<ServerDBInfo>> db);
|
||||
|
|
|
@ -18,9 +18,12 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef FDBSERVER_WORKLOADS_H
|
||||
#define FDBSERVER_WORKLOADS_H
|
||||
#pragma once
|
||||
#if defined(NO_INTELLISENSE) && !defined(FDBSERVER_WORKLOADS_ACTOR_G_H)
|
||||
#define FDBSERVER_WORKLOADS_ACTOR_G_H
|
||||
#include "fdbserver/workloads/workloads.actor.g.h"
|
||||
#elif !defined(FDBSERVER_WORKLOADS_ACTOR_H)
|
||||
#define FDBSERVER_WORKLOADS_ACTOR_H
|
||||
|
||||
#include "fdbclient/NativeAPI.actor.h"
|
||||
#include "fdbclient/DatabaseContext.h" // for clone()
|
||||
|
|
Loading…
Reference in New Issue