mirror of https://gitee.com/bigwinds/arangodb
fix engine selection and feature start/stop
This commit is contained in:
parent
acb187851f
commit
58da24b1a6
|
@ -183,7 +183,7 @@ static int runServer(int argc, char** argv) {
|
|||
|
||||
// storage engines
|
||||
server.addFeature(new MMFilesEngine(&server));
|
||||
//server.addFeature(new RocksDBEngine(&server));
|
||||
server.addFeature(new RocksDBEngine(&server));
|
||||
|
||||
try {
|
||||
server.run(argc, argv);
|
||||
|
|
|
@ -56,7 +56,7 @@ void EngineSelectorFeature::prepare() {
|
|||
|
||||
if (engine == _engine) {
|
||||
// this is the selected engine
|
||||
LOG_TOPIC(TRACE, Logger::STARTUP) << "enabling storage engine " << engine;
|
||||
LOG_TOPIC(TRACE, Logger::STARTUP) << "using storage engine " << engine;
|
||||
e->enable();
|
||||
|
||||
// register storage engine
|
||||
|
@ -79,7 +79,6 @@ void EngineSelectorFeature::unprepare() {
|
|||
// return all available storage engines
|
||||
std::unordered_set<std::string> EngineSelectorFeature::availableEngines() {
|
||||
return std::unordered_set<std::string>{
|
||||
MMFilesEngine::EngineName
|
||||
// MMFilesEngine::EngineName, RocksDBEngine::EngineName
|
||||
MMFilesEngine::EngineName, RocksDBEngine::EngineName
|
||||
};
|
||||
}
|
||||
|
|
|
@ -52,7 +52,6 @@ std::string const RocksDBEngine::EngineName("RocksDB");
|
|||
// create the storage engine
|
||||
RocksDBEngine::RocksDBEngine(application_features::ApplicationServer* server)
|
||||
: StorageEngine(server, EngineName) {
|
||||
TRI_ASSERT(false);
|
||||
}
|
||||
|
||||
RocksDBEngine::~RocksDBEngine() {
|
||||
|
|
|
@ -73,6 +73,7 @@ void RevisionCacheChunkAllocator::startGcThread() {
|
|||
}
|
||||
|
||||
void RevisionCacheChunkAllocator::stopGcThread() {
|
||||
_gcThread->beginShutdown();
|
||||
while (_gcThread->isRunning()) {
|
||||
usleep(10000);
|
||||
}
|
||||
|
|
|
@ -522,6 +522,10 @@ void ApplicationServer::start() {
|
|||
bool abortStartup = false;
|
||||
|
||||
for (auto feature : _orderedFeatures) {
|
||||
if (!feature->isEnabled()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
LOG_TOPIC(TRACE, Logger::STARTUP) << feature->name() << "::start";
|
||||
|
||||
try {
|
||||
|
@ -543,6 +547,9 @@ void ApplicationServer::start() {
|
|||
for (auto it = _orderedFeatures.rbegin(); it != _orderedFeatures.rend();
|
||||
++it) {
|
||||
auto feature = *it;
|
||||
if (!feature->isEnabled()) {
|
||||
continue;
|
||||
}
|
||||
if (feature->state() == FeatureState::STARTED) {
|
||||
LOG(TRACE) << "forcefully stopping feature '" << feature->name() << "'";
|
||||
try {
|
||||
|
@ -579,6 +586,9 @@ void ApplicationServer::stop() {
|
|||
for (auto it = _orderedFeatures.rbegin(); it != _orderedFeatures.rend();
|
||||
++it) {
|
||||
auto feature = *it;
|
||||
if (!feature->isEnabled()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
LOG_TOPIC(TRACE, Logger::STARTUP) << feature->name() << "::stop";
|
||||
feature->stop();
|
||||
|
|
Loading…
Reference in New Issue