summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-07-01 13:47:35 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-07-01 13:47:35 +0000
commit37970688ca08a4dd712e41bc8d239fab2b6a9b86 (patch)
tree19d2694499abfcb8c82681c3b3c17b8ff18f9eaf /storage
parent9d8138fd907efeeb7a98305cd5068e82c23e53db (diff)
Need this dispatching still to avoid deadlocks.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp10
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.h4
2 files changed, 8 insertions, 6 deletions
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
index a9a75ad4292..021c94464df 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
+++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
@@ -28,7 +28,7 @@ namespace storage {
FileStorManager::
FileStorManager(const config::ConfigUri & configUri, const spi::PartitionStateList& partitions,
spi::PersistenceProvider& provider, ServiceLayerComponentRegister& compReg)
- : StorageLink("File store manager"),
+ : StorageLinkQueued("File store manager", compReg),
framework::HtmlStatusReporter("filestorman", "File store manager"),
_compReg(compReg),
_component(compReg, "filestormanager"),
@@ -251,7 +251,7 @@ FileStorManager::handlePersistenceMessage( const shared_ptr<api::StorageMessage>
reply->setResult(errorCode);
LOG(spam, "Received persistence message %s. Returning reply: %s",
msg->getType().getName().c_str(), errorCode.toString().c_str());
- sendUp(reply);
+ dispatchUp(reply);
}
return true;
}
@@ -765,13 +765,13 @@ FileStorManager::sendReply(const std::shared_ptr<api::StorageReply>& reply)
// Currently we need to dispatch due to replies sent by remapQueue
// function in handlerimpl, as filestorthread keeps bucket db lock
// while running this function
- sendUp(reply);
+ dispatchUp(reply);
}
void
FileStorManager::sendUp(const std::shared_ptr<api::StorageMessage>& msg)
{
- StorageLink::sendUp(msg);
+ StorageLinkQueued::sendUp(msg);
}
void FileStorManager::onClose()
@@ -783,6 +783,7 @@ void FileStorManager::onClose()
_filestorHandler->close();
LOG(debug, "Closed _filestorHandler.");
_closed = true;
+ StorageLinkQueued::onClose();
LOG(debug, "Done closing");
}
@@ -814,6 +815,7 @@ void FileStorManager::onFlush(bool downwards)
"stopped: %s",
result.c_str());
}
+ StorageLinkQueued::onFlush(downwards);
LOG(debug, "Done Flushing");
}
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
index 6bc20dde5d2..452b83bb794 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
+++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
@@ -19,7 +19,7 @@
#include <vespa/storage/common/messagesender.h>
#include <vespa/storage/common/servicelayercomponent.h>
#include <vespa/storage/common/statusmessages.h>
-#include <vespa/storage/common/storagelink.h>
+#include <vespa/storage/common/storagelinkqueued.h>
#include <vespa/config-stor-filestor.h>
#include <vespa/storage/persistence/diskthread.h>
@@ -42,7 +42,7 @@ class ReadBucketList;
class BucketOwnershipNotifier;
class AbortBucketOperationsCommand;
-class FileStorManager : public StorageLink,
+class FileStorManager : public StorageLinkQueued,
public framework::HtmlStatusReporter,
public StateListener,
private config::IFetcherCallback<vespa::config::content::StorFilestorConfig>,