diff options
Diffstat (limited to 'storage')
8 files changed, 0 insertions, 147 deletions
diff --git a/storage/src/vespa/storage/common/bucketmessages.cpp b/storage/src/vespa/storage/common/bucketmessages.cpp index 51c6af8ea5f..796d07ad9ef 100644 --- a/storage/src/vespa/storage/common/bucketmessages.cpp +++ b/storage/src/vespa/storage/common/bucketmessages.cpp @@ -104,54 +104,5 @@ std::unique_ptr<api::StorageReply> ReadBucketInfo::makeReply() { return std::make_unique<ReadBucketInfoReply>(*this); } -InternalBucketJoinCommand::InternalBucketJoinCommand(const document::Bucket &bucket, - uint16_t keepOnDisk, uint16_t joinFromDisk) - : api::InternalCommand(ID), - _bucket(bucket), - _keepOnDisk(keepOnDisk), - _joinFromDisk(joinFromDisk) -{ - setPriority(HIGH); // To not get too many pending of these, prioritize - // them higher than getting more bucket info lists. -} - -InternalBucketJoinCommand::~InternalBucketJoinCommand() = default; - -void -InternalBucketJoinCommand::print(std::ostream& out, bool verbose, const std::string& indent) const { - out << "InternalBucketJoinCommand()"; - - if (verbose) { - out << " : "; - InternalCommand::print(out, true, indent); - } -} - -InternalBucketJoinReply::InternalBucketJoinReply(const InternalBucketJoinCommand& cmd, - const api::BucketInfo& info) - : api::InternalReply(ID, cmd), - _bucket(cmd.getBucket()), - _bucketInfo(info) -{ } - -InternalBucketJoinReply::~InternalBucketJoinReply() = default; - -void -InternalBucketJoinReply::print(std::ostream& out, bool verbose, const std::string& indent) const -{ - out << "InternalBucketJoinReply()"; - - if (verbose) { - out << " : "; - InternalReply::print(out, true, indent); - } -} - -std::unique_ptr<api::StorageReply> -InternalBucketJoinCommand::makeReply() -{ - return std::make_unique<InternalBucketJoinReply>(*this); -} - } // storage diff --git a/storage/src/vespa/storage/common/bucketmessages.h b/storage/src/vespa/storage/common/bucketmessages.h index 6cc65cc1501..3b152c60447 100644 --- a/storage/src/vespa/storage/common/bucketmessages.h +++ b/storage/src/vespa/storage/common/bucketmessages.h @@ -107,60 +107,4 @@ public: void print(std::ostream& out, bool verbose, const std::string& indent) const override; }; -/** - * @class InternalBucketJoinCommand - * @ingroup common - * - * @brief Joins multiple versions of the same bucket. - * - * In case disks are reintroduced, we might have several copies of the same - * bucket on multiple disks. In such cases we should join these buckets during - * initialization as we cannot cope with multiple versions of the same bucket - * while storage is running. - */ -class InternalBucketJoinCommand : public api::InternalCommand { - document::Bucket _bucket; - uint16_t _keepOnDisk; - uint16_t _joinFromDisk; - -public: - static const uint32_t ID = 2015; - - InternalBucketJoinCommand(const document::Bucket &bucket, uint16_t keepOnDisk, uint16_t joinFromDisk); - ~InternalBucketJoinCommand(); - - document::Bucket getBucket() const override { return _bucket; } - bool hasSingleBucketId() const override { return true; } - - uint16_t getDiskOfInstanceToKeep() const { return _keepOnDisk; } - uint16_t getDiskOfInstanceToJoin() const { return _joinFromDisk; } - - std::unique_ptr<api::StorageReply> makeReply() override; - - void print(std::ostream& out, bool verbose, const std::string& indent) const override; -}; - -/** - * @class InternalBucketJoinReply - * @ingroup common - */ -class InternalBucketJoinReply : public api::InternalReply { - document::Bucket _bucket; - api::BucketInfo _bucketInfo; - -public: - static const uint32_t ID = 2016; - - InternalBucketJoinReply(const InternalBucketJoinCommand& cmd, - const api::BucketInfo& info = api::BucketInfo()); - ~InternalBucketJoinReply(); - - document::Bucket getBucket() const override { return _bucket; } - bool hasSingleBucketId() const override { return true; } - - const api::BucketInfo& getBucketInfo() const { return _bucketInfo; } - - void print(std::ostream& out, bool verbose, const std::string& indent) const override; -}; - } // storage diff --git a/storage/src/vespa/storage/common/messagebucket.cpp b/storage/src/vespa/storage/common/messagebucket.cpp index 6cc94e2a732..61283fd3d04 100644 --- a/storage/src/vespa/storage/common/messagebucket.cpp +++ b/storage/src/vespa/storage/common/messagebucket.cpp @@ -64,8 +64,6 @@ getStorageMessageBucket(const api::StorageMessage& msg) return static_cast<const ReadBucketList&>(msg).getBucket(); case ReadBucketInfo::ID: return static_cast<const ReadBucketInfo&>(msg).getBucket(); - case InternalBucketJoinCommand::ID: - return static_cast<const InternalBucketJoinCommand&>(msg).getBucket(); case RecheckBucketInfoCommand::ID: return static_cast<const RecheckBucketInfoCommand&>(msg).getBucket(); default: diff --git a/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp b/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp index 226df025465..4b07e0b6e5b 100644 --- a/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp +++ b/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp @@ -644,7 +644,6 @@ FileStorHandlerImpl::remapMessage(api::StorageMessage& msg, const document::Buck source.getBucketId().toString().c_str(), op); break; } - case InternalBucketJoinCommand::ID: default: // Fail and log error { diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp index 9fde88cfe51..0626f3d687e 100644 --- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp +++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp @@ -697,15 +697,6 @@ FileStorManager::onInternal(const shared_ptr<api::InternalCommand>& msg) } return true; } - case InternalBucketJoinCommand::ID: - { - shared_ptr<InternalBucketJoinCommand> cmd(std::static_pointer_cast<InternalBucketJoinCommand>(msg)); - StorBucketDatabase::WrappedEntry entry(mapOperationToDisk(*cmd, cmd->getBucket())); - if (entry.exist()) { - handlePersistenceMessage(cmd); - } - return true; - } case RecheckBucketInfoCommand::ID: { shared_ptr<RecheckBucketInfoCommand> cmd(std::static_pointer_cast<RecheckBucketInfoCommand>(msg)); diff --git a/storage/src/vespa/storage/persistence/persistencehandler.cpp b/storage/src/vespa/storage/persistence/persistencehandler.cpp index c3751abb7d9..d992df61780 100644 --- a/storage/src/vespa/storage/persistence/persistencehandler.cpp +++ b/storage/src/vespa/storage/persistence/persistencehandler.cpp @@ -73,8 +73,6 @@ PersistenceHandler::handleCommandSplitByType(api::StorageCommand& msg, MessageTr return _simpleHandler.handleReadBucketList(static_cast<ReadBucketList&>(msg), std::move(tracker)); case ReadBucketInfo::ID: return _simpleHandler.handleReadBucketInfo(static_cast<ReadBucketInfo&>(msg), std::move(tracker)); - case InternalBucketJoinCommand::ID: - return _splitJoinHandler.handleInternalBucketJoin(static_cast<InternalBucketJoinCommand&>(msg), std::move(tracker)); case RecheckBucketInfoCommand::ID: return _splitJoinHandler.handleRecheckBucketInfo(static_cast<RecheckBucketInfoCommand&>(msg), std::move(tracker)); default: diff --git a/storage/src/vespa/storage/persistence/splitjoinhandler.cpp b/storage/src/vespa/storage/persistence/splitjoinhandler.cpp index c64a892d6fb..756f9edc3dd 100644 --- a/storage/src/vespa/storage/persistence/splitjoinhandler.cpp +++ b/storage/src/vespa/storage/persistence/splitjoinhandler.cpp @@ -268,32 +268,6 @@ SplitJoinHandler::handleJoinBuckets(api::JoinBucketsCommand& cmd, MessageTracker return tracker; } -MessageTracker::UP -SplitJoinHandler::handleInternalBucketJoin(InternalBucketJoinCommand& cmd, MessageTracker::UP tracker) const -{ - tracker->setMetric(_env._metrics.internalJoin); - document::Bucket destBucket = cmd.getBucket(); - { - // Create empty bucket for target. - StorBucketDatabase::WrappedEntry entry = - _env.getBucketDatabase(destBucket.getBucketSpace()).get( - destBucket.getBucketId(), "join", StorBucketDatabase::CREATE_IF_NONEXISTING); - - entry.write(); - } - assert(cmd.getDiskOfInstanceToJoin() == 0u); - assert(cmd.getDiskOfInstanceToKeep() == 0u); - spi::Result result = - _spi.join(spi::Bucket(destBucket), - spi::Bucket(destBucket), - spi::Bucket(destBucket), - tracker->context()); - if (tracker->checkForError(result)) { - tracker->setReply(std::make_shared<InternalBucketJoinReply>(cmd, _env.getBucketInfo(cmd.getBucket()))); - } - return tracker; -} - bool SplitJoinHandler::validateJoinCommand(const api::JoinBucketsCommand& cmd, MessageTracker& tracker) { diff --git a/storage/src/vespa/storage/persistence/splitjoinhandler.h b/storage/src/vespa/storage/persistence/splitjoinhandler.h index 2279b0b6ef9..408838e3715 100644 --- a/storage/src/vespa/storage/persistence/splitjoinhandler.h +++ b/storage/src/vespa/storage/persistence/splitjoinhandler.h @@ -11,7 +11,6 @@ namespace spi { struct PersistenceProvider; } class PersistenceUtil; class BucketOwnershipNotifier; class RecheckBucketInfoCommand; -class InternalBucketJoinCommand; /** * Handle operations that might changes bucket ownership. @@ -25,7 +24,6 @@ public: MessageTrackerUP handleSetBucketState(api::SetBucketStateCommand& cmd, MessageTrackerUP tracker) const; MessageTrackerUP handleRecheckBucketInfo(RecheckBucketInfoCommand& cmd, MessageTrackerUP tracker) const; MessageTrackerUP handleJoinBuckets(api::JoinBucketsCommand& cmd, MessageTrackerUP tracker) const; - MessageTrackerUP handleInternalBucketJoin(InternalBucketJoinCommand& cmd, MessageTrackerUP tracker) const; private: /** * Sanity-checking of join command parameters. Invokes tracker.fail() with |