diff options
4 files changed, 15 insertions, 8 deletions
diff --git a/documentapi/src/tests/messages/testbase.cpp b/documentapi/src/tests/messages/testbase.cpp index 8f2729964a6..6af240fcf6e 100644 --- a/documentapi/src/tests/messages/testbase.cpp +++ b/documentapi/src/tests/messages/testbase.cpp @@ -18,7 +18,7 @@ TestBase::TestBase() : TEST_PATH("../../../test/cfg/testdoctypes.cfg")))), _dataPath(TEST_PATH("../../../test/crosslanguagefiles")), _loadTypes(), - _protocol(_loadTypes, _repo), + _protocol(_loadTypes, _repo, "", true), _tests() { _loadTypes.addLoadType(34, "foo", Priority::PRI_NORMAL_2); diff --git a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp index b2588657825..c5defa607a3 100644 --- a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp +++ b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp @@ -25,7 +25,8 @@ const mbus::string DocumentProtocol::NAME = "document"; DocumentProtocol::DocumentProtocol(const LoadTypeSet& loadTypes, DocumentTypeRepo::SP repo, - const string &configId) : + const string &configId, + bool enableMultipleBucketSpaces) : _routingPolicyRepository(new RoutingPolicyRepository()), _routableRepository(new RoutableRepository(loadTypes)), _systemState(SystemState::newInstance("")), @@ -107,10 +108,12 @@ DocumentProtocol::DocumentProtocol(const LoadTypeSet& loadTypes, putRoutableFactory(MESSAGE_REMOVEDOCUMENT, IRoutableFactory::SP(new RoutableFactories52::RemoveDocumentMessageFactory()), from52); // Add 6.x serialization (TODO finalize version) - putRoutableFactory(MESSAGE_CREATEVISITOR, IRoutableFactory::SP(new RoutableFactories60::CreateVisitorMessageFactory(*_repo)), from6); + if (enableMultipleBucketSpaces) { + putRoutableFactory(MESSAGE_CREATEVISITOR, IRoutableFactory::SP(new RoutableFactories60::CreateVisitorMessageFactory(*_repo)), from6); + } } -DocumentProtocol::~DocumentProtocol() { } +DocumentProtocol::~DocumentProtocol() = default; mbus::IRoutingPolicy::UP DocumentProtocol::createPolicy(const mbus::string &name, const mbus::string ¶m) const diff --git a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h index c3417d85197..15a9e4c010a 100644 --- a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h +++ b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h @@ -200,7 +200,8 @@ public: */ DocumentProtocol(const LoadTypeSet& loadTypes, std::shared_ptr<document::DocumentTypeRepo> repo, - const string &configId = ""); + const string &configId = "", + bool enableMultipleBucketSpaces = false); ~DocumentProtocol(); /** diff --git a/storage/src/vespa/storage/storageserver/communicationmanager.cpp b/storage/src/vespa/storage/storageserver/communicationmanager.cpp index 4cf4839319f..9a3d3b71f38 100644 --- a/storage/src/vespa/storage/storageserver/communicationmanager.cpp +++ b/storage/src/vespa/storage/storageserver/communicationmanager.cpp @@ -444,8 +444,10 @@ void CommunicationManager::configure(std::unique_ptr<CommunicationManagerConfig> // config here. _mbus = std::make_unique<mbus::RPCMessageBus>( mbus::ProtocolSet() - .add(std::make_shared<documentapi::DocumentProtocol>(*_component.getLoadTypes(), _component.getTypeRepo())) - .add(std::make_shared<mbusprot::StorageProtocol>(_component.getTypeRepo(), *_component.getLoadTypes(), _component.enableMultipleBucketSpaces())), + .add(std::make_shared<documentapi::DocumentProtocol>(*_component.getLoadTypes(), _component.getTypeRepo(), "", + _component.enableMultipleBucketSpaces())) + .add(std::make_shared<mbusprot::StorageProtocol>(_component.getTypeRepo(), *_component.getLoadTypes(), + _component.enableMultipleBucketSpaces())), params, _configUri); @@ -786,7 +788,8 @@ void CommunicationManager::updateMessagebusProtocol( const document::DocumentTypeRepo::SP &repo) { if (_mbus.get()) { framework::SecondTime now(_component.getClock().getTimeInSeconds()); - mbus::IProtocol::SP newDocumentProtocol(new documentapi::DocumentProtocol( *_component.getLoadTypes(), repo)); + mbus::IProtocol::SP newDocumentProtocol(new documentapi::DocumentProtocol( + *_component.getLoadTypes(), repo, "", _component.enableMultipleBucketSpaces())); std::lock_guard<std::mutex> guard(_earlierGenerationsLock); _earlierGenerations.push_back(std::make_pair(now, _mbus->getMessageBus().putProtocol(newDocumentProtocol))); mbus::IProtocol::SP newStorageProtocol(new mbusprot::StorageProtocol(repo, *_component.getLoadTypes(), _component.enableMultipleBucketSpaces())); |