summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2017-11-21 14:52:40 +0000
committerGeir Storli <geirst@oath.com>2017-11-22 12:09:09 +0000
commitd84187c71f24fcb7a6b504b13dff5c18c9ebd644 (patch)
tree0f87983af697418258aefc8c9f411cf39806a615 /storage
parentb4f4418cee4f6fca48c1148cab8dac65ca74d8d9 (diff)
Add named bucket space to RemoveLocationMessage.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/tests/storageserver/documentapiconvertertest.cpp16
-rw-r--r--storage/src/vespa/storage/storageserver/documentapiconverter.cpp3
2 files changed, 18 insertions, 1 deletions
diff --git a/storage/src/tests/storageserver/documentapiconvertertest.cpp b/storage/src/tests/storageserver/documentapiconvertertest.cpp
index c55e91a5f87..1f853174699 100644
--- a/storage/src/tests/storageserver/documentapiconvertertest.cpp
+++ b/storage/src/tests/storageserver/documentapiconvertertest.cpp
@@ -5,6 +5,7 @@
#include <vespa/document/base/testdocrepo.h>
#include <vespa/document/bucket/bucketidfactory.h>
#include <vespa/document/datatype/documenttype.h>
+#include <vespa/document/select/parser.h>
#include <vespa/document/test/make_document_bucket.h>
#include <vespa/documentapi/documentapi.h>
#include <vespa/messagebus/emptyreply.h>
@@ -14,6 +15,7 @@
#include <vespa/storageapi/message/datagram.h>
#include <vespa/storageapi/message/multioperation.h>
#include <vespa/storageapi/message/persistence.h>
+#include <vespa/storageapi/message/removelocation.h>
#include <vespa/storageapi/message/stat.h>
#include <vespa/vespalib/testkit/test_kit.h>
@@ -108,6 +110,7 @@ struct DocumentApiConverterTest : public CppUnit::TestFixture
void testBatchDocumentUpdate();
void testStatBucket();
void testGetBucketList();
+ void testRemoveLocation();
CPPUNIT_TEST_SUITE(DocumentApiConverterTest);
CPPUNIT_TEST(testPut);
@@ -125,6 +128,7 @@ struct DocumentApiConverterTest : public CppUnit::TestFixture
CPPUNIT_TEST(testBatchDocumentUpdate);
CPPUNIT_TEST(testStatBucket);
CPPUNIT_TEST(testGetBucketList);
+ CPPUNIT_TEST(testRemoveLocation);
CPPUNIT_TEST_SUITE_END();
};
@@ -502,4 +506,16 @@ DocumentApiConverterTest::testGetBucketList()
CPPUNIT_ASSERT_EQUAL(Bucket(defaultBucketSpace, BucketId(123)), cmd->getBucket());
}
+void
+DocumentApiConverterTest::testRemoveLocation()
+{
+ document::BucketIdFactory factory;
+ document::select::Parser parser(*_repo, factory);
+ documentapi::RemoveLocationMessage msg(factory, parser, "id.group == \"mygroup\"");
+ msg.setBucketSpace(defaultSpaceName);
+
+ auto cmd = toStorageAPI<api::RemoveLocationCommand>(msg);
+ CPPUNIT_ASSERT_EQUAL(defaultBucket, cmd->getBucket());
+}
+
}
diff --git a/storage/src/vespa/storage/storageserver/documentapiconverter.cpp b/storage/src/vespa/storage/storageserver/documentapiconverter.cpp
index 95c35ce988e..c2761b3d832 100644
--- a/storage/src/vespa/storage/storageserver/documentapiconverter.cpp
+++ b/storage/src/vespa/storage/storageserver/documentapiconverter.cpp
@@ -145,7 +145,8 @@ DocumentApiConverter::toStorageAPI(documentapi::DocumentMessage& fromMsg,
case DocumentProtocol::MESSAGE_REMOVELOCATION:
{
documentapi::RemoveLocationMessage& from(static_cast<documentapi::RemoveLocationMessage&>(fromMsg));
- api::RemoveLocationCommand::UP to(new api::RemoveLocationCommand(from.getDocumentSelection(), document::Bucket(BucketSpace::placeHolder(), document::BucketId(0))));
+ document::Bucket bucket(_bucketResolver.bucketSpaceFromName(from.getBucketSpace()), document::BucketId(0));
+ api::RemoveLocationCommand::UP to(new api::RemoveLocationCommand(from.getDocumentSelection(), bucket));
toMsg.reset(to.release());
break;
}