aboutsummaryrefslogtreecommitdiffstats
path: root/storageapi
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@oath.com>2017-10-16 12:27:24 +0000
committerTor Egge <Tor.Egge@oath.com>2017-10-16 12:27:24 +0000
commit90af05394305493539104ef01f8e39275815d419 (patch)
tree2bd15d0d82b766ceab25b74944e97c72c614dff8 /storageapi
parent6ac5a9c0f069287422e617be88e36b3d769ba014 (diff)
Add bucket space to more storage commands.
Diffstat (limited to 'storageapi')
-rw-r--r--storageapi/src/vespa/storageapi/message/batch.cpp6
-rw-r--r--storageapi/src/vespa/storageapi/message/batch.h4
-rw-r--r--storageapi/src/vespa/storageapi/message/datagram.cpp8
-rw-r--r--storageapi/src/vespa/storageapi/message/datagram.h8
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/storagemessage.h3
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();