diff options
author | Tor Egge <Tor.Egge@oath.com> | 2017-10-23 12:41:35 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@oath.com> | 2017-10-23 12:41:35 +0000 |
commit | ff8f736032fab9e274b88317c8f0119ac62133ef (patch) | |
tree | e19138c63f06b462e182fec39e120517328316bf /storage | |
parent | c2105574acbf1694e83b4b43fa8200fb48eb79b2 (diff) |
Add bucket space to create visitor command.
Diffstat (limited to 'storage')
7 files changed, 40 insertions, 27 deletions
diff --git a/storage/src/tests/distributor/distributortest.cpp b/storage/src/tests/distributor/distributortest.cpp index b830aa6d506..4be9735c0f7 100644 --- a/storage/src/tests/distributor/distributortest.cpp +++ b/storage/src/tests/distributor/distributortest.cpp @@ -10,12 +10,14 @@ #include <vespa/storageframework/defaultimplementation/thread/threadpoolimpl.h> #include <tests/distributor/distributortestutil.h> #include <vespa/document/test/make_document_bucket.h> +#include <vespa/document/test/make_bucket_space.h> #include <vespa/storage/config/config-stor-distributormanager.h> #include <tests/common/dummystoragelink.h> #include <vespa/storage/distributor/distributor.h> #include <vespa/vespalib/text/stringtokenizer.h> using document::test::makeDocumentBucket; +using document::test::makeBucketSpace; namespace storage { @@ -209,7 +211,7 @@ Distributor_Test::testOperationGeneration() document::DocumentId("userdoc:m:1:foo"), api::Timestamp(1234)))); - api::CreateVisitorCommand* cmd = new api::CreateVisitorCommand("foo", "bar", ""); + api::CreateVisitorCommand* cmd = new api::CreateVisitorCommand(makeBucketSpace(), "foo", "bar", ""); cmd->addBucketToBeVisited(document::BucketId(16, 1)); cmd->addBucketToBeVisited(document::BucketId()); diff --git a/storage/src/tests/distributor/idealstatemanagertest.cpp b/storage/src/tests/distributor/idealstatemanagertest.cpp index fe7a03856c7..d4d7a00a2df 100644 --- a/storage/src/tests/distributor/idealstatemanagertest.cpp +++ b/storage/src/tests/distributor/idealstatemanagertest.cpp @@ -222,7 +222,7 @@ IdealStateManagerTest::testBlockIdealStateOpsOnFullRequestBucketInfo() // Don't block on null-bucket messages that aren't RequestBucketInfo. { std::shared_ptr<api::CreateVisitorCommand> msg( - new api::CreateVisitorCommand("foo", "bar", "baz")); + new api::CreateVisitorCommand(makeBucketSpace(), "foo", "bar", "baz")); msg->setAddress( api::StorageMessageAddress("storage", lib::NodeType::STORAGE, 7)); tracker.insert(msg); diff --git a/storage/src/tests/distributor/visitoroperationtest.cpp b/storage/src/tests/distributor/visitoroperationtest.cpp index c8f339f6626..f12e1fa4e33 100644 --- a/storage/src/tests/distributor/visitoroperationtest.cpp +++ b/storage/src/tests/distributor/visitoroperationtest.cpp @@ -13,11 +13,13 @@ #include <vespa/storage/distributor/distributor.h> #include <tests/common/dummystoragelink.h> #include <vespa/vdstestlib/cppunit/macros.h> +#include <vespa/document/test/make_bucket_space.h> using namespace document; using namespace storage::api; using namespace storage::lib; using namespace std::string_literals; +using document::test::makeBucketSpace; namespace storage { namespace distributor { @@ -148,7 +150,7 @@ private: const std::string& docSelection = "") { api::CreateVisitorCommand::SP cmd( - new api::CreateVisitorCommand(libraryName, instanceId, docSelection)); + new api::CreateVisitorCommand(makeBucketSpace(), libraryName, instanceId, docSelection)); cmd->setControlDestination("controldestination"); cmd->setDataDestination("datadestination"); cmd->setFieldSet("[header]"); @@ -265,7 +267,8 @@ VisitorOperationTest::doStandardVisitTest(const std::string& clusterState) vespalib::string libraryName("dumpvisitor"); vespalib::string docSelection(""); api::CreateVisitorCommand::SP msg( - new api::CreateVisitorCommand(libraryName, + new api::CreateVisitorCommand(makeBucketSpace(), + libraryName, instanceId, docSelection)); vespalib::string controlDestination("controldestination"); @@ -333,7 +336,8 @@ VisitorOperationTest::testShutdown() vespalib::string libraryName("dumpvisitor"); vespalib::string docSelection(""); api::CreateVisitorCommand::SP msg( - new api::CreateVisitorCommand(libraryName, + new api::CreateVisitorCommand(makeBucketSpace(), + libraryName, instanceId, docSelection)); msg->addBucketToBeVisited(id); @@ -361,7 +365,7 @@ VisitorOperationTest::testNoBucket() // Send create visitor api::CreateVisitorCommand::SP msg(new api::CreateVisitorCommand( - "dumpvisitor", "instance", "")); + makeBucketSpace(), "dumpvisitor", "instance", "")); CPPUNIT_ASSERT_EQUAL(std::string( "CreateVisitorReply(last=BucketId(0x0000000000000000)) " @@ -377,7 +381,7 @@ VisitorOperationTest::testOnlySuperBucketAndProgressAllowed() // Send create visitor api::CreateVisitorCommand::SP msg(new api::CreateVisitorCommand( - "dumpvisitor", "instance", "")); + makeBucketSpace(), "dumpvisitor", "instance", "")); msg->addBucketToBeVisited(nullId); msg->addBucketToBeVisited(nullId); msg->addBucketToBeVisited(nullId); diff --git a/storage/src/tests/visiting/commandqueuetest.cpp b/storage/src/tests/visiting/commandqueuetest.cpp index 91f196a9339..7b6d5dcafd6 100644 --- a/storage/src/tests/visiting/commandqueuetest.cpp +++ b/storage/src/tests/visiting/commandqueuetest.cpp @@ -5,9 +5,11 @@ #include <vespa/storageapi/message/visitor.h> #include <vespa/vdstestlib/cppunit/macros.h> #include <vespa/vespalib/stllike/asciistream.h> +#include <vespa/document/test/make_bucket_space.h> using vespalib::string; +using document::test::makeBucketSpace; namespace storage { @@ -39,7 +41,7 @@ namespace { ost << name << " t=" << timeout << " p=" << static_cast<unsigned int>(priority); // Piggyback name in document selection std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("", "", ost.str())); + new api::CreateVisitorCommand(makeBucketSpace(), "", "", ost.str())); cmd->setQueueTimeout(timeout); cmd->setPriority(priority); return cmd; diff --git a/storage/src/tests/visiting/visitormanagertest.cpp b/storage/src/tests/visiting/visitormanagertest.cpp index 3c5780cf77c..5da86a134e2 100644 --- a/storage/src/tests/visiting/visitormanagertest.cpp +++ b/storage/src/tests/visiting/visitormanagertest.cpp @@ -13,6 +13,7 @@ #include <tests/common/testhelper.h> #include <tests/common/dummystoragelink.h> #include <vespa/document/test/make_document_bucket.h> +#include <vespa/document/test/make_bucket_space.h> #include <tests/storageserver/testvisitormessagesession.h> #include <vespa/documentapi/messagebus/messages/multioperationmessage.h> #include <vespa/documentapi/messagebus/messages/putdocumentmessage.h> @@ -21,6 +22,7 @@ #include <vespa/vespalib/util/exceptions.h> using document::test::makeDocumentBucket; +using document::test::makeBucketSpace; namespace storage { namespace { @@ -410,7 +412,7 @@ VisitorManagerTest::testNormalUsage() initializeTest(); api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setControlDestination("foo/bar"); @@ -436,7 +438,7 @@ VisitorManagerTest::testResending() initializeTest(); api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setControlDestination("foo/bar"); @@ -486,7 +488,7 @@ VisitorManagerTest::testVisitEmptyBucket() addSomeRemoves(true); api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); @@ -502,7 +504,7 @@ VisitorManagerTest::testMultiBucketVisit() initializeTest(); api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); for (uint32_t i=0; i<10; ++i) { cmd->addBucketToBeVisited(document::BucketId(16, i)); } @@ -527,7 +529,7 @@ VisitorManagerTest::testNoBuckets() initializeTest(); api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); cmd->setAddress(address); _top->sendDown(cmd); @@ -553,7 +555,7 @@ void VisitorManagerTest::testVisitPutsAndRemoves() addSomeRemoves(); api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); cmd->setAddress(address); cmd->setVisitRemoves(); for (uint32_t i=0; i<10; ++i) { @@ -581,7 +583,7 @@ void VisitorManagerTest::testVisitWithTimeframeAndSelection() initializeTest(); api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "testdoctype1.headerval < 2")); cmd->setFromTime(3); cmd->setToTime(8); @@ -613,7 +615,7 @@ void VisitorManagerTest::testVisitWithTimeframeAndBogusSelection() initializeTest(); api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "DocType(testdoctype1---///---) XXX BAD Field(headerval) < 2")); cmd->setFromTime(3); cmd->setToTime(8); @@ -641,7 +643,7 @@ VisitorManagerTest::testVisitorCallbacks() std::ostringstream replydata; api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("TestVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "TestVisitor", "testvis", "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->addBucketToBeVisited(document::BucketId(16, 5)); cmd->setAddress(address); @@ -690,7 +692,7 @@ VisitorManagerTest::testVisitorCleanup() std::ostringstream ost; ost << "testvis" << i; std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("InvalidVisitor", ost.str(), "")); + new api::CreateVisitorCommand(makeBucketSpace(), "InvalidVisitor", ost.str(), "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setQueueTimeout(0); @@ -703,7 +705,7 @@ VisitorManagerTest::testVisitorCleanup() std::ostringstream ost; ost << "testvis" << (i + 10); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", ost.str(), "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", ost.str(), "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setQueueTimeout(0); @@ -767,7 +769,7 @@ VisitorManagerTest::testVisitorCleanup() std::ostringstream ost; ost << "testvis" << (i + 24); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", ost.str(), "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", ost.str(), "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setQueueTimeout(0); @@ -798,7 +800,7 @@ VisitorManagerTest::testAbortOnFailedVisitorInfo() { std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setQueueTimeout(0); @@ -863,7 +865,7 @@ VisitorManagerTest::testAbortOnFieldPathError() // Use bogus field path to force error to happen std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "testdoctype1.headerval{bogus} == 1234")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); @@ -885,7 +887,7 @@ VisitorManagerTest::testVisitorQueueTimeout() vespalib::MonitorGuard guard(_manager->getThread(0).getQueueMonitor()); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setQueueTimeout(1); @@ -918,7 +920,7 @@ VisitorManagerTest::testVisitorProcessingTimeout() api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", "testvis", "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setQueueTimeout(0); @@ -955,7 +957,7 @@ namespace { ost << "testvis" << ++nextVisitor; api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand("DumpVisitor", ost.str(), "")); + new api::CreateVisitorCommand(makeBucketSpace(), "DumpVisitor", ost.str(), "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setQueueTimeout(timeout); diff --git a/storage/src/tests/visiting/visitortest.cpp b/storage/src/tests/visiting/visitortest.cpp index 8abe7a3857d..00051d64b90 100644 --- a/storage/src/tests/visiting/visitortest.cpp +++ b/storage/src/tests/visiting/visitortest.cpp @@ -4,6 +4,7 @@ #include <vespa/document/fieldvalue/intfieldvalue.h> #include <vespa/document/fieldvalue/stringfieldvalue.h> #include <vespa/document/fieldvalue/rawfieldvalue.h> +#include <vespa/document/test/make_bucket_space.h> #include <vespa/storageapi/message/datagram.h> #include <vespa/storageapi/message/persistence.h> #include <vespa/storage/persistence/filestorage/filestormanager.h> @@ -20,6 +21,7 @@ #include <thread> using namespace std::chrono_literals; +using document::test::makeBucketSpace; namespace storage { @@ -490,7 +492,7 @@ VisitorTest::makeCreateVisitor(const VisitorOptions& options) { api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 0); std::shared_ptr<api::CreateVisitorCommand> cmd( - new api::CreateVisitorCommand(options.visitorType, "testvis", "")); + new api::CreateVisitorCommand(makeBucketSpace(), options.visitorType, "testvis", "")); cmd->addBucketToBeVisited(document::BucketId(16, 3)); cmd->setAddress(address); cmd->setMaximumPendingReplyCount(UINT32_MAX); diff --git a/storage/src/vespa/storage/storageserver/documentapiconverter.cpp b/storage/src/vespa/storage/storageserver/documentapiconverter.cpp index acfa07affc7..ddc11e9ad77 100644 --- a/storage/src/vespa/storage/storageserver/documentapiconverter.cpp +++ b/storage/src/vespa/storage/storageserver/documentapiconverter.cpp @@ -71,7 +71,8 @@ DocumentApiConverter::toStorageAPI(documentapi::DocumentMessage& fromMsg, case DocumentProtocol::MESSAGE_CREATEVISITOR: { documentapi::CreateVisitorMessage& from(static_cast<documentapi::CreateVisitorMessage&>(fromMsg)); - auto to = std::make_unique<api::CreateVisitorCommand>(from.getLibraryName(), from.getInstanceId(), + auto to = std::make_unique<api::CreateVisitorCommand>(BucketSpace::placeHolder(), + from.getLibraryName(), from.getInstanceId(), from.getDocumentSelection()); to->setControlDestination(from.getControlDestination()); |