aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-02-22 15:36:28 +0100
committerGitHub <noreply@github.com>2022-02-22 15:36:28 +0100
commite16f3bc5db8316c5d95f7f82563261bdcb274705 (patch)
treea02262447a59ab50e99a08052e454c08f10d2bcd /searchcore/src/tests/proton
parentba49ee6d97276ee19fc9b4d5f0d328df73273a74 (diff)
Revert "Use common tranport for TlsClient"
Diffstat (limited to 'searchcore/src/tests/proton')
-rw-r--r--searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp30
-rw-r--r--searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp24
-rw-r--r--searchcore/src/tests/proton/documentdb/executor_threading_service/CMakeLists.txt1
-rw-r--r--searchcore/src/tests/proton/documentdb/executor_threading_service/executor_threading_service_test.cpp8
-rw-r--r--searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp19
-rw-r--r--searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp12
-rw-r--r--searchcore/src/tests/proton/documentdb/fileconfigmanager/fileconfigmanager_test.cpp8
-rw-r--r--searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp2
-rw-r--r--searchcore/src/tests/proton/documentdb/storeonlyfeedview/CMakeLists.txt1
-rw-r--r--searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp15
-rw-r--r--searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp15
-rw-r--r--searchcore/src/tests/proton/index/CMakeLists.txt2
-rw-r--r--searchcore/src/tests/proton/index/fusionrunner_test.cpp34
-rw-r--r--searchcore/src/tests/proton/index/indexmanager_test.cpp18
-rw-r--r--searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp4
-rw-r--r--searchcore/src/tests/proton/proton_disk_layout/proton_disk_layout_test.cpp10
-rw-r--r--searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp2
-rw-r--r--searchcore/src/tests/proton/server/shared_threading_service/shared_threading_service_test.cpp2
18 files changed, 111 insertions, 96 deletions
diff --git a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
index 0e9eb926514..b597bc18cc5 100644
--- a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
@@ -2,6 +2,7 @@
#include <vespa/vespalib/testkit/testapp.h>
+#include <vespa/document/config/documenttypes_config_fwd.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/searchcore/proton/attribute/attribute_writer.h>
#include <vespa/searchcore/proton/attribute/attributemanager.h>
@@ -11,6 +12,7 @@
#include <vespa/searchcore/proton/index/indexmanager.h>
#include <vespa/searchcore/proton/reprocessing/attribute_reprocessing_initializer.h>
#include <vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h>
+#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcore/proton/server/fast_access_doc_subdb_configurer.h>
#include <vespa/searchcore/proton/server/summaryadapter.h>
#include <vespa/searchcore/proton/server/attribute_writer_factory.h>
@@ -21,13 +23,11 @@
#include <vespa/searchcore/proton/test/documentdb_config_builder.h>
#include <vespa/searchcore/proton/test/mock_summary_adapter.h>
#include <vespa/searchcore/proton/test/mock_gid_to_lid_change_handler.h>
-#include <vespa/searchcore/proton/test/transport_helper.h>
#include <vespa/searchcore/proton/reference/dummy_gid_to_lid_change_handler.h>
#include <vespa/searchlib/index/dummyfileheadercontext.h>
#include <vespa/searchlib/transactionlog/nosyncproxy.h>
#include <vespa/vespalib/io/fileutil.h>
#include <vespa/vespalib/util/size_literals.h>
-#include <vespa/vespalib/util/threadstackexecutor.h>
using namespace config;
using namespace document;
@@ -85,8 +85,9 @@ ViewPtrs::~ViewPtrs() = default;
struct ViewSet
{
IndexManagerDummyReconfigurer _reconfigurer;
- DummyFileHeaderContext _fileHeaderContext;
- TransportAndExecutorService _service;
+ DummyFileHeaderContext _fileHeaderContext;
+ vespalib::ThreadStackExecutor _sharedExecutor;
+ ExecutorThreadingService _writeService;
SearchableFeedView::SerialNum serialNum;
std::shared_ptr<const DocumentTypeRepo> repo;
DocTypeName _docTypeName;
@@ -113,7 +114,8 @@ struct ViewSet
ViewSet::ViewSet()
: _reconfigurer(),
_fileHeaderContext(),
- _service(1),
+ _sharedExecutor(1, 0x10000),
+ _writeService(_sharedExecutor),
serialNum(1),
repo(createRepo()),
_docTypeName(DOC_TYPE),
@@ -186,10 +188,10 @@ Fixture::initViewSet(ViewSet &views)
using IndexConfig = proton::index::IndexConfig;
auto matchers = std::make_shared<Matchers>(_clock, _queryLimiter, _constantValueRepo);
auto indexMgr = make_shared<IndexManager>(BASE_DIR, IndexConfig(searchcorespi::index::WarmupConfig(), 2, 0), Schema(), 1,
- views._reconfigurer, views._service.write(), _summaryExecutor,
+ views._reconfigurer, views._writeService, _summaryExecutor,
TuneFileIndexManager(), TuneFileAttributes(), views._fileHeaderContext);
auto attrMgr = make_shared<AttributeManager>(BASE_DIR, "test.subdb", TuneFileAttributes(), views._fileHeaderContext,
- views._service.write().attributeFieldWriter(), views._service.write().shared(), views._hwInfo);
+ views._writeService.attributeFieldWriter(), views._writeService.shared(), views._hwInfo);
auto summaryMgr = make_shared<SummaryManager>
(_summaryExecutor, search::LogDocumentStore::Config(), search::GrowStrategy(), BASE_DIR, views._docTypeName,
TuneFileSummary(), views._fileHeaderContext,views._noTlSyncer, search::IBucketizer::SP());
@@ -215,7 +217,7 @@ Fixture::initViewSet(ViewSet &views)
views.repo,
_pendingLidsForCommit,
*views._gidToLidChangeHandler,
- views._service.write()),
+ views._writeService),
SearchableFeedView::PersistentParams(views.serialNum, views.serialNum,
views._docTypeName, 0u, SubDbType::READY),
FastAccessFeedView::Context(attrWriter, views._docIdLimit),
@@ -272,19 +274,21 @@ MyFastAccessFeedView::~MyFastAccessFeedView() = default;
struct FastAccessFixture
{
- TransportAndExecutorService _service;
- MyFastAccessFeedView _view;
+ vespalib::ThreadStackExecutor _sharedExecutor;
+ ExecutorThreadingService _writeService;
+ MyFastAccessFeedView _view;
FastAccessDocSubDBConfigurer _configurer;
FastAccessFixture()
- : _service(1),
- _view(_service.write()),
+ : _sharedExecutor(1, 0x10000),
+ _writeService(_sharedExecutor),
+ _view(_writeService),
_configurer(_view._feedView, std::make_unique<AttributeWriterFactory>(), "test")
{
vespalib::rmdir(BASE_DIR, true);
vespalib::mkdir(BASE_DIR);
}
~FastAccessFixture() {
- _service.shutdown();
+ _writeService.shutdown();
}
};
diff --git a/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp b/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp
index 27636324835..6e20d30fb36 100644
--- a/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp
@@ -18,6 +18,7 @@
#include <vespa/searchcore/proton/server/fast_access_document_retriever.h>
#include <vespa/searchcore/proton/server/i_document_subdb_owner.h>
#include <vespa/searchcore/proton/server/igetserialnum.h>
+#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcore/proton/server/minimal_document_retriever.h>
#include <vespa/searchcore/proton/server/searchabledocsubdb.h>
#include <vespa/searchcore/proton/server/document_subdb_initializer.h>
@@ -287,8 +288,9 @@ struct MyConfigSnapshot
template <typename Traits>
struct FixtureBase
{
- TransportAndExecutorService _service;
-
+ TransportMgr _transport;
+ ThreadStackExecutor _summaryExecutor;
+ ExecutorThreadingService _writeService;
typename Traits::Config _cfg;
std::shared_ptr<bucketdb::BucketDBOwner> _bucketDB;
BucketDBHandler _bucketDBHandler;
@@ -299,13 +301,15 @@ struct FixtureBase
typename Traits::SubDB _subDb;
IFeedView::SP _tmpFeedView;
FixtureBase()
- : _service(1),
+ : _transport(),
+ _summaryExecutor(1, 64_Ki),
+ _writeService(_summaryExecutor),
_cfg(),
_bucketDB(std::make_shared<bucketdb::BucketDBOwner>()),
_bucketDBHandler(*_bucketDB),
- _ctx(_service.write(), _bucketDB, _bucketDBHandler),
+ _ctx(_writeService, _bucketDB, _bucketDBHandler),
_baseSchema(),
- _snapshot(std::make_unique<MyConfigSnapshot>(_service.transport(), _baseSchema, Traits::ConfigDir::dir())),
+ _snapshot(std::make_unique<MyConfigSnapshot>(_transport.transport(), _baseSchema, Traits::ConfigDir::dir())),
_baseDir(BASE_DIR + "/" + SUB_NAME, BASE_DIR),
_subDb(_cfg._cfg, _ctx._ctx),
_tmpFeedView()
@@ -313,8 +317,8 @@ struct FixtureBase
init();
}
~FixtureBase() {
- _service.write().master().execute(makeLambdaTask([this]() { _subDb.close(); }));
- _service.shutdown();
+ _writeService.master().execute(makeLambdaTask([this]() { _subDb.close(); }));
+ _writeService.shutdown();
}
void setBucketStateCalculator(const std::shared_ptr<IBucketStateCalculator> & calc) {
vespalib::Gate gate;
@@ -323,11 +327,11 @@ struct FixtureBase
}
template <typename FunctionType>
void runInMasterAndSync(FunctionType func) {
- proton::test::runInMasterAndSync(_service.write(), func);
+ proton::test::runInMasterAndSync(_writeService, func);
}
template <typename FunctionType>
void runInMaster(FunctionType func) {
- proton::test::runInMaster(_service.write(), func);
+ proton::test::runInMaster(_writeService, func);
}
void init() {
DocumentSubDbInitializer::SP task =
@@ -345,7 +349,7 @@ struct FixtureBase
runInMasterAndSync([&]() { performReconfig(serialNum, reconfigSchema, reconfigConfigDir); });
}
void performReconfig(SerialNum serialNum, const Schema &reconfigSchema, const vespalib::string &reconfigConfigDir) {
- auto newCfg = std::make_unique<MyConfigSnapshot>(_service.transport(), reconfigSchema, reconfigConfigDir);
+ auto newCfg = std::make_unique<MyConfigSnapshot>(_transport.transport(), reconfigSchema, reconfigConfigDir);
DocumentDBConfig::ComparisonResult cmpResult;
cmpResult.attributesChanged = true;
cmpResult.documenttypesChanged = true;
diff --git a/searchcore/src/tests/proton/documentdb/executor_threading_service/CMakeLists.txt b/searchcore/src/tests/proton/documentdb/executor_threading_service/CMakeLists.txt
index ba7db5dd377..721f2207213 100644
--- a/searchcore/src/tests/proton/documentdb/executor_threading_service/CMakeLists.txt
+++ b/searchcore/src/tests/proton/documentdb/executor_threading_service/CMakeLists.txt
@@ -3,7 +3,6 @@ vespa_add_executable(searchcore_executor_threading_service_test_app TEST
SOURCES
executor_threading_service_test.cpp
DEPENDS
- searchcore_test
searchcore_server
GTest::GTest
)
diff --git a/searchcore/src/tests/proton/documentdb/executor_threading_service/executor_threading_service_test.cpp b/searchcore/src/tests/proton/documentdb/executor_threading_service/executor_threading_service_test.cpp
index 934dcdb36e3..8d7e842bc89 100644
--- a/searchcore/src/tests/proton/documentdb/executor_threading_service/executor_threading_service_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/executor_threading_service/executor_threading_service_test.cpp
@@ -2,7 +2,6 @@
#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcore/proton/server/threading_service_config.h>
-#include <vespa/searchcore/proton/test/transport_helper.h>
#include <vespa/vespalib/gtest/gtest.h>
#include <vespa/vespalib/util/sequencedtaskexecutor.h>
@@ -21,18 +20,17 @@ to_concrete_type(ISequencedTaskExecutor& exec)
class ExecutorThreadingServiceTest : public ::testing::Test {
public:
- TransportAndExecutor _transport;
+ vespalib::ThreadStackExecutor shared_executor;
std::unique_ptr<ISequencedTaskExecutor> field_writer_executor;
std::unique_ptr<ExecutorThreadingService> service;
ExecutorThreadingServiceTest()
- : _transport(1),
+ : shared_executor(1, 1000),
field_writer_executor(SequencedTaskExecutor::create(my_field_writer_executor, 3, 200)),
service()
{
}
void setup(uint32_t indexing_threads, SharedFieldWriterExecutor shared_field_writer) {
- service = std::make_unique<ExecutorThreadingService>(_transport.shared(),
- _transport.transport(),
+ service = std::make_unique<ExecutorThreadingService>(shared_executor,
field_writer_executor.get(),
nullptr,
ThreadingServiceConfig::make(indexing_threads, shared_field_writer));
diff --git a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
index 0f1b4412c4f..9a8d8bad60e 100644
--- a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
@@ -22,6 +22,7 @@
#include <vespa/searchcore/proton/server/configstore.h>
#include <vespa/document/util/feed_reject_helper.h>
#include <vespa/searchcore/proton/server/ddbstate.h>
+#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcore/proton/server/feedhandler.h>
#include <vespa/searchcore/proton/server/i_feed_handler_owner.h>
#include <vespa/searchcore/proton/server/ireplayconfig.h>
@@ -408,9 +409,11 @@ struct MyTlsWriter : TlsWriter {
struct FeedHandlerFixture
{
DummyFileHeaderContext _fileHeaderContext;
- TransportAndExecutorService _service;
+ TransportMgr _transport;
TransLogServer tls;
vespalib::string tlsSpec;
+ vespalib::ThreadStackExecutor sharedExecutor;
+ ExecutorThreadingService writeService;
SchemaContext schema;
MyOwner owner;
MyResourceWriteFilter writeFilter;
@@ -423,9 +426,11 @@ struct FeedHandlerFixture
FeedHandler handler;
FeedHandlerFixture()
: _fileHeaderContext(),
- _service(1),
- tls(_service.transport(), "mytls", 9016, "mytlsdir", _fileHeaderContext, DomainConfig().setPartSizeLimit(0x10000)),
+ _transport(),
+ tls(_transport.transport(), "mytls", 9016, "mytlsdir", _fileHeaderContext, DomainConfig().setPartSizeLimit(0x10000)),
tlsSpec("tcp/localhost:9016"),
+ sharedExecutor(1, 0x10000),
+ writeService(sharedExecutor),
schema(),
owner(),
_state(),
@@ -433,7 +438,7 @@ struct FeedHandlerFixture
feedView(schema.getRepo(), schema.getDocType()),
_bucketDB(),
_bucketDBHandler(_bucketDB),
- handler(_service.write(), tlsSpec, schema.getDocType(), owner,
+ handler(writeService, tlsSpec, schema.getDocType(), owner,
writeFilter, replayConfig, tls, &tls_writer)
{
_state.enterLoadState();
@@ -444,15 +449,15 @@ struct FeedHandlerFixture
}
~FeedHandlerFixture() {
- _service.shutdown();
+ writeService.shutdown();
}
template <class FunctionType>
inline void runAsMaster(FunctionType &&function) {
- _service.write().master().execute(makeLambdaTask(std::move(function)));
+ writeService.master().execute(makeLambdaTask(std::move(function)));
syncMaster();
}
void syncMaster() {
- _service.write().master().sync();
+ writeService.master().sync();
}
};
diff --git a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
index ba68d47ec22..824a9273404 100644
--- a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
@@ -5,6 +5,7 @@
#include <vespa/searchcore/proton/test/bucketfactory.h>
#include <vespa/searchcore/proton/common/feedtoken.h>
#include <vespa/searchcore/proton/index/i_index_writer.h>
+#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcore/proton/server/isummaryadapter.h>
#include <vespa/searchcore/proton/server/matchview.h>
#include <vespa/searchcore/proton/server/searchable_feed_view.h>
@@ -19,7 +20,6 @@
#include <vespa/searchcore/proton/test/mock_summary_adapter.h>
#include <vespa/searchcore/proton/test/thread_utils.h>
#include <vespa/searchcore/proton/test/threading_service_observer.h>
-#include <vespa/searchcore/proton/test/transport_helper.h>
#include <vespa/searchlib/attribute/attributefactory.h>
#include <vespa/document/update/documentupdate.h>
#include <vespa/vespalib/util/destructor_callbacks.h>
@@ -497,7 +497,8 @@ struct FixtureBase
DocumentMetaStoreContext::SP _dmscReal;
test::DocumentMetaStoreContextObserver::SP _dmsc;
ParamsContext pc;
- TransportAndExecutorService _service;
+ vespalib::ThreadStackExecutor _sharedExecutor;
+ ExecutorThreadingService _writeServiceReal;
test::ThreadingServiceObserver _writeService;
SerialNum serial;
std::shared_ptr<MyGidToLidChangeHandler> _gidToLidChangeHandler;
@@ -689,8 +690,9 @@ FixtureBase::FixtureBase()
_dmscReal(std::make_shared<DocumentMetaStoreContext>(std::make_shared<bucketdb::BucketDBOwner>())),
_dmsc(std::make_shared<test::DocumentMetaStoreContextObserver>(*_dmscReal)),
pc(sc._builder->getDocumentType().getName(), "fileconfig_test"),
- _service(1),
- _writeService(_service.write()),
+ _sharedExecutor(1, 0x10000),
+ _writeServiceReal(_sharedExecutor),
+ _writeService(_writeServiceReal),
serial(0),
_gidToLidChangeHandler(std::make_shared<MyGidToLidChangeHandler>())
{
@@ -698,7 +700,7 @@ FixtureBase::FixtureBase()
}
FixtureBase::~FixtureBase() {
- _service.shutdown();
+ _writeServiceReal.shutdown();
}
void
diff --git a/searchcore/src/tests/proton/documentdb/fileconfigmanager/fileconfigmanager_test.cpp b/searchcore/src/tests/proton/documentdb/fileconfigmanager/fileconfigmanager_test.cpp
index 2de24ee7803..d51ea25f2f5 100644
--- a/searchcore/src/tests/proton/documentdb/fileconfigmanager/fileconfigmanager_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/fileconfigmanager/fileconfigmanager_test.cpp
@@ -127,7 +127,7 @@ addConfigsThatAreNotSavedToDisk(const DocumentDBConfig &cfg)
return builder.build();
}
-TEST_FF("requireThatConfigCanBeSavedAndLoaded", Transport(), DocumentDBConfig::SP(makeBaseConfigSnapshot(f1.transport())))
+TEST_FF("requireThatConfigCanBeSavedAndLoaded", TransportMgr(), DocumentDBConfig::SP(makeBaseConfigSnapshot(f1.transport())))
{
DocumentDBConfig::SP fullCfg = addConfigsThatAreNotSavedToDisk(*f2);
@@ -140,7 +140,7 @@ TEST_FF("requireThatConfigCanBeSavedAndLoaded", Transport(), DocumentDBConfig::S
assertEqualSnapshot(*f2, *esnap);
}
-TEST_FF("requireThatConfigCanBeSerializedAndDeserialized", Transport(), DocumentDBConfig::SP(makeBaseConfigSnapshot(f1.transport())))
+TEST_FF("requireThatConfigCanBeSerializedAndDeserialized", TransportMgr(), DocumentDBConfig::SP(makeBaseConfigSnapshot(f1.transport())))
{
saveBaseConfigSnapshot(f1.transport(), *f2, 30);
nbostream stream;
@@ -161,7 +161,7 @@ TEST_FF("requireThatConfigCanBeSerializedAndDeserialized", Transport(), Document
EXPECT_EQUAL("dummy", fsnap->getDocTypeName());
}
-TEST_FF("requireThatConfigCanBeLoadedWithoutExtraConfigsDataFile", Transport(), DocumentDBConfig::SP(makeBaseConfigSnapshot(f1.transport())))
+TEST_FF("requireThatConfigCanBeLoadedWithoutExtraConfigsDataFile", TransportMgr(), DocumentDBConfig::SP(makeBaseConfigSnapshot(f1.transport())))
{
saveBaseConfigSnapshot(f1.transport(), *f2, 70);
EXPECT_FALSE(vespalib::unlink("out/config-70/extraconfigs.dat"));
@@ -173,7 +173,7 @@ TEST_FF("requireThatConfigCanBeLoadedWithoutExtraConfigsDataFile", Transport(),
}
-TEST_FF("requireThatVisibilityDelayIsPropagated", Transport(), DocumentDBConfig::SP(makeBaseConfigSnapshot(f1.transport())))
+TEST_FF("requireThatVisibilityDelayIsPropagated", TransportMgr(), DocumentDBConfig::SP(makeBaseConfigSnapshot(f1.transport())))
{
saveBaseConfigSnapshot(f1.transport(), *f2, 80);
DocumentDBConfig::SP esnap(makeEmptyConfigSnapshot());
diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
index 0144e260ffa..39a5c69376c 100644
--- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
@@ -349,7 +349,7 @@ public:
test::DiskMemUsageNotifier _diskMemUsageNotifier;
BucketCreateNotifier _bucketCreateNotifier;
MonitoredRefCount _refCount;
- Transport _transport;
+ TransportMgr _transport;
MaintenanceController _mc;
MaintenanceControllerFixture();
diff --git a/searchcore/src/tests/proton/documentdb/storeonlyfeedview/CMakeLists.txt b/searchcore/src/tests/proton/documentdb/storeonlyfeedview/CMakeLists.txt
index 6d94c066d20..3cdad86e9d7 100644
--- a/searchcore/src/tests/proton/documentdb/storeonlyfeedview/CMakeLists.txt
+++ b/searchcore/src/tests/proton/documentdb/storeonlyfeedview/CMakeLists.txt
@@ -3,7 +3,6 @@ vespa_add_executable(searchcore_storeonlyfeedview_test_app TEST
SOURCES
storeonlyfeedview_test.cpp
DEPENDS
- searchcore_test
searchcore_server
searchcore_feedoperation
searchcore_documentmetastore
diff --git a/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp b/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp
index acd33ab749d..b1d7ee1d0a8 100644
--- a/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp
@@ -3,6 +3,7 @@
#include <vespa/document/base/documentid.h>
#include <vespa/document/datatype/datatype.h>
#include <vespa/searchcommon/common/schema.h>
+#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcore/proton/server/putdonecontext.h>
#include <vespa/searchcore/proton/server/removedonecontext.h>
#include <vespa/searchcore/proton/server/storeonlyfeedview.h>
@@ -11,11 +12,9 @@
#include <vespa/searchcore/proton/feedoperation/pruneremoveddocumentsoperation.h>
#include <vespa/searchcore/proton/reference/dummy_gid_to_lid_change_handler.h>
#include <vespa/searchcore/proton/test/mock_summary_adapter.h>
-#include <vespa/searchcore/proton/test/transport_helper.h>
#include <vespa/searchcore/proton/test/thread_utils.h>
#include <vespa/searchlib/index/docbuilder.h>
#include <vespa/vespalib/util/destructor_callbacks.h>
-#include <vespa/vespalib/util/size_literals.h>
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/log/log.h>
@@ -212,7 +211,8 @@ struct FixtureBase {
std::atomic<int> heartbeatCount;
std::atomic<int> outstandingMoveOps;
DocumentMetaStore::SP metaStore;
- TransportAndExecutorService _service;
+ vespalib::ThreadStackExecutor sharedExecutor;
+ ExecutorThreadingService writeService;
std::shared_ptr<PendingLidTrackerBase> pendingLidsForCommit;
typename FeedViewType::UP feedview;
SerialNum serial_num;
@@ -226,7 +226,8 @@ struct FixtureBase {
DocumentMetaStore::getFixedName(),
search::GrowStrategy(),
subDbType)),
- _service(1),
+ sharedExecutor(1, 0x10000),
+ writeService(sharedExecutor),
pendingLidsForCommit(std::make_shared<PendingLidTracker>()),
feedview(),
serial_num(2u)
@@ -234,7 +235,7 @@ struct FixtureBase {
StoreOnlyFeedView::PersistentParams params(0, 0, DocTypeName("foo"), subdb_id, subDbType);
metaStore->constructFreeList();
ISummaryAdapter::SP adapter = std::make_shared<MySummaryAdapter>(removeCount, putCount, heartbeatCount);
- feedview = std::make_unique<FeedViewType>(adapter, metaStore, _service.write(),
+ feedview = std::make_unique<FeedViewType>(adapter, metaStore, writeService,
params, pendingLidsForCommit, outstandingMoveOps);
}
@@ -262,11 +263,11 @@ struct FixtureBase {
template <typename FunctionType>
void runInMasterAndSync(FunctionType func) {
- test::runInMasterAndSync(_service.write(), func);
+ test::runInMasterAndSync(writeService, func);
}
template <typename FunctionType>
void runInMaster(FunctionType func) {
- test::runInMaster(_service.write(), func);
+ test::runInMaster(writeService, func);
}
void force_commit() {
diff --git a/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp b/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp
index a30408a9301..8a2e2084978 100644
--- a/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp
+++ b/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp
@@ -3,13 +3,11 @@
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/searchcore/proton/documentmetastore/i_store.h>
#include <vespa/searchcore/proton/documentmetastore/lidreusedelayer.h>
+#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcore/proton/test/thread_utils.h>
#include <vespa/searchcore/proton/test/threading_service_observer.h>
-#include <vespa/searchcore/proton/test/transport_helper.h>
#include <vespa/vespalib/util/lambdatask.h>
#include <vespa/vespalib/util/destructor_callbacks.h>
-#include <vespa/vespalib/util/size_literals.h>
-#include <vespa/vespalib/util/gate.h>
#include <vespa/log/log.h>
LOG_SETUP("lidreusedelayer_test");
@@ -119,17 +117,20 @@ class Fixture
{
public:
using LidReuseDelayer = documentmetastore::LidReuseDelayer;
- TransportAndExecutorService _service;
+ vespalib::ThreadStackExecutor _sharedExecutor;
+ ExecutorThreadingService _writeServiceReal;
test::ThreadingServiceObserver _writeService;
MyMetaStore _store;
std::unique_ptr<LidReuseDelayer> _lidReuseDelayer;
Fixture()
- : _service(1),
- _writeService(_service.write()),
+ : _sharedExecutor(1, 0x10000),
+ _writeServiceReal(_sharedExecutor),
+ _writeService(_writeServiceReal),
_store(),
_lidReuseDelayer(std::make_unique<LidReuseDelayer>(_writeService, _store))
- { }
+ {
+ }
~Fixture() {
commit();
diff --git a/searchcore/src/tests/proton/index/CMakeLists.txt b/searchcore/src/tests/proton/index/CMakeLists.txt
index 313dd5e0457..62a631dc26e 100644
--- a/searchcore/src/tests/proton/index/CMakeLists.txt
+++ b/searchcore/src/tests/proton/index/CMakeLists.txt
@@ -3,7 +3,6 @@ vespa_add_executable(searchcore_indexmanager_test_app TEST
SOURCES
indexmanager_test.cpp
DEPENDS
- searchcore_test
searchcore_server
searchcore_index
searchcore_flushengine
@@ -18,7 +17,6 @@ vespa_add_executable(searchcore_fusionrunner_test_app TEST
SOURCES
fusionrunner_test.cpp
DEPENDS
- searchcore_test
searchcore_server
searchcore_index
searchcore_pcommon
diff --git a/searchcore/src/tests/proton/index/fusionrunner_test.cpp b/searchcore/src/tests/proton/index/fusionrunner_test.cpp
index 38314abd7e5..ae85211fe24 100644
--- a/searchcore/src/tests/proton/index/fusionrunner_test.cpp
+++ b/searchcore/src/tests/proton/index/fusionrunner_test.cpp
@@ -2,7 +2,7 @@
#include <vespa/fastos/file.h>
#include <vespa/searchcore/proton/index/indexmanager.h>
-#include <vespa/searchcore/proton/test/transport_helper.h>
+#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcorespi/index/fusionrunner.h>
#include <vespa/vespalib/util/isequencedtaskexecutor.h>
#include <vespa/searchlib/common/flush_token.h>
@@ -17,7 +17,6 @@
#include <vespa/vespalib/util/gate.h>
#include <vespa/vespalib/util/destructor_callbacks.h>
#include <vespa/vespalib/testkit/testapp.h>
-#include <vespa/vespalib/util/size_literals.h>
#include <set>
using document::Document;
@@ -67,7 +66,8 @@ class Test : public vespalib::TestApp {
FixedSourceSelector::UP _selector;
FusionSpec _fusion_spec;
DummyFileHeaderContext _fileHeaderContext;
- TransportAndExecutorService _service;
+ vespalib::ThreadStackExecutor _sharedExecutor;
+ ExecutorThreadingService _threadingService;
IndexManager::MaintainerOperations _ops;
void setUp();
@@ -85,21 +85,21 @@ class Test : public vespalib::TestApp {
void requireThatFusionCanBeStopped();
public:
- Test();
- ~Test();
+ Test()
+ : _fusion_runner(),
+ _selector(),
+ _fusion_spec(),
+ _fileHeaderContext(),
+ _sharedExecutor(1, 0x10000),
+ _threadingService(_sharedExecutor),
+ _ops(_fileHeaderContext,
+ TuneFileIndexManager(), 0,
+ _threadingService)
+ {}
+ ~Test() {}
int Main() override;
};
-Test::Test()
- : _fusion_runner(),
- _selector(),
- _fusion_spec(),
- _fileHeaderContext(),
- _service(1),
- _ops(_fileHeaderContext,TuneFileIndexManager(), 0, _service.write())
-{ }
-Test::~Test() = default;
-
int
Test::Main()
{
@@ -180,8 +180,8 @@ void Test::createIndex(const string &dir, uint32_t id, bool fusion) {
Schema schema = getSchema();
DocBuilder doc_builder(schema);
MemoryIndex memory_index(schema, MockFieldLengthInspector(),
- _service.write().indexFieldInverter(),
- _service.write().indexFieldWriter());
+ _threadingService.indexFieldInverter(),
+ _threadingService.indexFieldWriter());
addDocument(doc_builder, memory_index, *_selector, id, id + 0, term);
addDocument(doc_builder, memory_index, *_selector, id, id + 1, "bar");
addDocument(doc_builder, memory_index, *_selector, id, id + 2, "baz");
diff --git a/searchcore/src/tests/proton/index/indexmanager_test.cpp b/searchcore/src/tests/proton/index/indexmanager_test.cpp
index 6cca28f5b43..1e33482b055 100644
--- a/searchcore/src/tests/proton/index/indexmanager_test.cpp
+++ b/searchcore/src/tests/proton/index/indexmanager_test.cpp
@@ -2,7 +2,7 @@
#include <vespa/fastos/file.h>
#include <vespa/searchcore/proton/index/indexmanager.h>
-#include <vespa/searchcore/proton/test/transport_helper.h>
+#include <vespa/searchcore/proton/server/executorthreadingservice.h>
#include <vespa/searchcorespi/index/index_manager_stats.h>
#include <vespa/searchcorespi/index/indexcollection.h>
#include <vespa/searchcorespi/index/indexflushtarget.h>
@@ -24,6 +24,7 @@
#include <vespa/vespalib/util/destructor_callbacks.h>
#include <vespa/vespalib/util/gate.h>
#include <vespa/vespalib/util/size_literals.h>
+#include <vespa/vespalib/util/threadstackexecutor.h>
#include <vespa/vespalib/util/time.h>
#include <set>
#include <thread>
@@ -52,6 +53,7 @@ using search::memoryindex::FieldIndexCollection;
using search::queryeval::Source;
using std::set;
using std::string;
+using vespalib::ThreadStackExecutor;
using vespalib::makeLambdaTask;
using std::chrono::duration_cast;
@@ -106,7 +108,8 @@ struct IndexManagerTest : public ::testing::Test {
SerialNum _serial_num;
IndexManagerDummyReconfigurer _reconfigurer;
DummyFileHeaderContext _fileHeaderContext;
- TransportAndExecutorService _service;
+ vespalib::ThreadStackExecutor _sharedExecutor;
+ ExecutorThreadingService _writeService;
std::unique_ptr<IndexManager> _index_manager;
Schema _schema;
DocBuilder _builder;
@@ -115,7 +118,8 @@ struct IndexManagerTest : public ::testing::Test {
: _serial_num(0),
_reconfigurer(),
_fileHeaderContext(),
- _service(1),
+ _sharedExecutor(1, 0x10000),
+ _writeService(_sharedExecutor),
_index_manager(),
_schema(getSchema()),
_builder(_schema)
@@ -126,13 +130,13 @@ struct IndexManagerTest : public ::testing::Test {
}
~IndexManagerTest() {
- _service.shutdown();
+ _writeService.shutdown();
}
template <class FunctionType>
inline void runAsMaster(FunctionType &&function) {
vespalib::Gate gate;
- _service.write().master().execute(makeLambdaTask([&gate,function = std::move(function)]() {
+ _writeService.master().execute(makeLambdaTask([&gate,function = std::move(function)]() {
function();
gate.countDown();
}));
@@ -141,7 +145,7 @@ struct IndexManagerTest : public ::testing::Test {
template <class FunctionType>
inline void runAsIndex(FunctionType &&function) {
vespalib::Gate gate;
- _service.write().index().execute(makeLambdaTask([&gate,function = std::move(function)]() {
+ _writeService.index().execute(makeLambdaTask([&gate,function = std::move(function)]() {
function();
gate.countDown();
}));
@@ -206,7 +210,7 @@ IndexManagerTest::resetIndexManager()
{
_index_manager.reset();
_index_manager = std::make_unique<IndexManager>(index_dir, IndexConfig(), getSchema(), 1,
- _reconfigurer, _service.write(), _service.shared(),
+ _reconfigurer, _writeService, _sharedExecutor,
TuneFileIndexManager(), TuneFileAttributes(), _fileHeaderContext);
}
diff --git a/searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp b/searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp
index 34bc9ea13ed..b4193b0e0b2 100644
--- a/searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp
+++ b/searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp
@@ -64,8 +64,8 @@ struct DoctypeFixture {
};
struct ConfigTestFixture {
- const std::string configId;
- Transport transport;
+ const std::string configId;
+ TransportMgr transport;
ProtonConfigBuilder protonBuilder;
DocumenttypesConfigBuilder documenttypesBuilder;
FiledistributorrpcConfigBuilder filedistBuilder;
diff --git a/searchcore/src/tests/proton/proton_disk_layout/proton_disk_layout_test.cpp b/searchcore/src/tests/proton/proton_disk_layout/proton_disk_layout_test.cpp
index 05d993a33e0..08b9a55746b 100644
--- a/searchcore/src/tests/proton/proton_disk_layout/proton_disk_layout_test.cpp
+++ b/searchcore/src/tests/proton/proton_disk_layout/proton_disk_layout_test.cpp
@@ -16,7 +16,7 @@ using search::transactionlog::client::TransLogClient;
using search::transactionlog::TransLogServer;
using proton::DocTypeName;
using proton::ProtonDiskLayout;
-using proton::Transport;
+using proton::TransportMgr;
static constexpr unsigned int tlsPort = 9018;
@@ -31,7 +31,7 @@ struct FixtureBase
struct DiskLayoutFixture {
DummyFileHeaderContext _fileHeaderContext;
- Transport _transport;
+ TransportMgr _transport;
TransLogServer _tls;
vespalib::string _tlsSpec;
ProtonDiskLayout _diskLayout;
@@ -45,7 +45,7 @@ struct DiskLayoutFixture {
}
}
void createDomains(const std::set<vespalib::string> &domains) {
- TransLogClient tlc(_transport.transport(), _tlsSpec);
+ TransLogClient tlc(_tlsSpec);
for (const auto &domain : domains) {
ASSERT_TRUE(tlc.create(domain));
}
@@ -53,7 +53,7 @@ struct DiskLayoutFixture {
std::set<vespalib::string> listDomains() {
std::vector<vespalib::string> domainVector;
- TransLogClient tlc(_transport.transport(), _tlsSpec);
+ TransLogClient tlc(_tlsSpec);
ASSERT_TRUE(tlc.listDomains(domainVector));
std::set<vespalib::string> domains;
for (const auto &domain : domainVector) {
@@ -97,7 +97,7 @@ DiskLayoutFixture::DiskLayoutFixture()
_transport(),
_tls(_transport.transport(), "tls", tlsPort, baseDir, _fileHeaderContext),
_tlsSpec(vespalib::make_string("tcp/localhost:%u", tlsPort)),
- _diskLayout(_transport.transport(), baseDir, _tlsSpec)
+ _diskLayout(baseDir, _tlsSpec)
{
}
diff --git a/searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp b/searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp
index 0c06d27c916..9469c8b055f 100644
--- a/searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp
+++ b/searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp
@@ -38,7 +38,7 @@ public:
};
struct DiskMemUsageSamplerTest : public ::testing::Test {
- Transport transport;
+ TransportMgr transport;
std::unique_ptr<DiskMemUsageSampler> sampler;
DiskMemUsageSamplerTest()
: transport(),
diff --git a/searchcore/src/tests/proton/server/shared_threading_service/shared_threading_service_test.cpp b/searchcore/src/tests/proton/server/shared_threading_service/shared_threading_service_test.cpp
index 8f8200486d7..1b8c8d8491b 100644
--- a/searchcore/src/tests/proton/server/shared_threading_service/shared_threading_service_test.cpp
+++ b/searchcore/src/tests/proton/server/shared_threading_service/shared_threading_service_test.cpp
@@ -48,7 +48,7 @@ TEST(SharedThreadingServiceConfigTest, shared_threads_are_derived_from_cpu_cores
class SharedThreadingServiceTest : public ::testing::Test {
public:
- Transport transport;
+ TransportMgr transport;
std::unique_ptr<SharedThreadingService> service;
SharedThreadingServiceTest()
: transport(),