diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-07-01 13:47:35 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-07-01 13:47:35 +0000 |
commit | 37970688ca08a4dd712e41bc8d239fab2b6a9b86 (patch) | |
tree | 19d2694499abfcb8c82681c3b3c17b8ff18f9eaf /storage | |
parent | 9d8138fd907efeeb7a98305cd5068e82c23e53db (diff) |
Need this dispatching still to avoid deadlocks.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp | 10 | ||||
-rw-r--r-- | storage/src/vespa/storage/persistence/filestorage/filestormanager.h | 4 |
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>, |