diff options
author | Geir Storli <geirst@oath.com> | 2017-11-21 14:52:40 +0000 |
---|---|---|
committer | Geir Storli <geirst@oath.com> | 2017-11-22 12:09:09 +0000 |
commit | d84187c71f24fcb7a6b504b13dff5c18c9ebd644 (patch) | |
tree | 0f87983af697418258aefc8c9f411cf39806a615 /storage | |
parent | b4f4418cee4f6fca48c1148cab8dac65ca74d8d9 (diff) |
Add named bucket space to RemoveLocationMessage.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/src/tests/storageserver/documentapiconvertertest.cpp | 16 | ||||
-rw-r--r-- | storage/src/vespa/storage/storageserver/documentapiconverter.cpp | 3 |
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; } |