diff options
author | Tor Egge <Tor.Egge@oath.com> | 2017-10-16 12:27:24 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@oath.com> | 2017-10-16 12:27:24 +0000 |
commit | 90af05394305493539104ef01f8e39275815d419 (patch) | |
tree | 2bd15d0d82b766ceab25b74944e97c72c614dff8 /storageapi | |
parent | 6ac5a9c0f069287422e617be88e36b3d769ba014 (diff) |
Add bucket space to more storage commands.
Diffstat (limited to 'storageapi')
5 files changed, 16 insertions, 13 deletions
diff --git a/storageapi/src/vespa/storageapi/message/batch.cpp b/storageapi/src/vespa/storageapi/message/batch.cpp index 7de0ec098ac..a813d737702 100644 --- a/storageapi/src/vespa/storageapi/message/batch.cpp +++ b/storageapi/src/vespa/storageapi/message/batch.cpp @@ -6,6 +6,7 @@ #include <algorithm> using namespace storage::api; +using document::BucketSpace; IMPLEMENT_COMMAND(BatchPutRemoveCommand, BatchPutRemoveReply) IMPLEMENT_REPLY(BatchPutRemoveReply) @@ -135,10 +136,11 @@ BatchPutRemoveReply::print(std::ostream& out, bool verbose, BatchDocumentUpdateCommand::BatchDocumentUpdateCommand(const UpdateList& updates) : StorageCommand(MessageType::BATCHDOCUMENTUPDATE), - _updates(updates) + _updates(updates), + _bucket(BucketSpace::placeHolder(), document::BucketId()) { document::BucketIdFactory factory; - _bucketId = factory.getBucketId(updates[0]->getId()); + _bucket = document::Bucket(BucketSpace::placeHolder(), factory.getBucketId(updates[0]->getId())); } void diff --git a/storageapi/src/vespa/storageapi/message/batch.h b/storageapi/src/vespa/storageapi/message/batch.h index 4af4fc4c70a..a1aec538e27 100644 --- a/storageapi/src/vespa/storageapi/message/batch.h +++ b/storageapi/src/vespa/storageapi/message/batch.h @@ -161,14 +161,14 @@ public: /** Returns a bucket suitable for routing this message. */ - document::Bucket getBucket() const override { return getPlaceHolderBucket(_bucketId); } + document::Bucket getBucket() const override { return _bucket; } bool hasSingleBucketId() const override { return true; } DECLARE_STORAGECOMMAND(BatchDocumentUpdateCommand, onBatchDocumentUpdate) private: UpdateList _updates; - document::BucketId _bucketId; + document::Bucket _bucket; }; /** diff --git a/storageapi/src/vespa/storageapi/message/datagram.cpp b/storageapi/src/vespa/storageapi/message/datagram.cpp index a9119e70c88..c2fc347c597 100644 --- a/storageapi/src/vespa/storageapi/message/datagram.cpp +++ b/storageapi/src/vespa/storageapi/message/datagram.cpp @@ -2,6 +2,8 @@ #include "datagram.h" +using document::BucketSpace; + namespace storage { namespace api { @@ -18,7 +20,7 @@ DocBlockCommand::DocBlockCommand(const document::BucketId& bucketId, const vdslib::DocumentList& block, const std::shared_ptr<void>& buffer) : StorageCommand(MessageType::DOCBLOCK), - _bucketId(bucketId), + _bucket(BucketSpace::placeHolder(), bucketId), _docBlock(block), _buffer(buffer), _keepTimeStamps(false) @@ -99,7 +101,7 @@ MapVisitorReply::print(std::ostream& out, bool verbose, DocumentListCommand::DocumentListCommand(const document::BucketId& bid) : StorageCommand(MessageType::DOCUMENTLIST), - _bucketId(bid), + _bucket(BucketSpace::placeHolder(), bid), _documents() { } @@ -108,7 +110,7 @@ void DocumentListCommand::print(std::ostream& out, bool verbose, const std::string& indent) const { - out << "DocumentList(" << _bucketId; + out << "DocumentList(" << _bucket.getBucketId(); if (_documents.empty()) { out << ", empty"; } else if (verbose) { diff --git a/storageapi/src/vespa/storageapi/message/datagram.h b/storageapi/src/vespa/storageapi/message/datagram.h index 202d67bb156..272ba72364e 100644 --- a/storageapi/src/vespa/storageapi/message/datagram.h +++ b/storageapi/src/vespa/storageapi/message/datagram.h @@ -16,7 +16,7 @@ namespace storage::api { * @brief Sends a docblock to a visitor or subscriber. */ class DocBlockCommand : public StorageCommand { - document::BucketId _bucketId; + document::Bucket _bucket; vdslib::DocumentList _docBlock; std::shared_ptr<void> _buffer; // Owns data in docblock bool _keepTimeStamps; // Used for recovery/synchronization where we want to @@ -34,7 +34,7 @@ public: { assert(_docBlock.getBufferSize() > 0); return _docBlock; } void setDocumentBlock(vdslib::DocumentList& block) { _docBlock = block; } - document::Bucket getBucket() const override { return getPlaceHolderBucket(_bucketId); } + document::Bucket getBucket() const override { return _bucket; } bool hasSingleBucketId() const override { return true; } void print(std::ostream& out, bool verbose, const std::string& indent) const override; bool keepTimeStamps() const { return _keepTimeStamps; } @@ -115,11 +115,11 @@ public: }; private: - document::BucketId _bucketId; + document::Bucket _bucket; std::vector<Entry> _documents; public: DocumentListCommand(const document::BucketId& bid); - document::Bucket getBucket() const override { return getPlaceHolderBucket(_bucketId); } + document::Bucket getBucket() const override { return _bucket; } std::vector<Entry>& getDocuments() { return _documents; } const std::vector<Entry>& getDocuments() const { return _documents; } void print(std::ostream& out, bool verbose, const std::string& indent) const override; diff --git a/storageapi/src/vespa/storageapi/messageapi/storagemessage.h b/storageapi/src/vespa/storageapi/messageapi/storagemessage.h index 0fb3e71b09f..663a0ccdf4e 100644 --- a/storageapi/src/vespa/storageapi/messageapi/storagemessage.h +++ b/storageapi/src/vespa/storageapi/messageapi/storagemessage.h @@ -350,8 +350,7 @@ protected: StorageMessage(const MessageType& code, Id id); StorageMessage(const StorageMessage&, Id id); - static document::Bucket getPlaceHolderBucket(document::BucketId bucketId) { return document::Bucket(document::BucketSpace::placeHolder(), bucketId); } - static document::Bucket getDummyBucket() { return getPlaceHolderBucket(document::BucketId()); } + static document::Bucket getDummyBucket() { return document::Bucket(document::BucketSpace::placeHolder(), document::BucketId()); } public: virtual ~StorageMessage(); |