diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-20 21:24:22 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-20 23:46:18 +0000 |
commit | 1bb2800fb1bf312689115a7230b1d3ead74d4ac6 (patch) | |
tree | 29c84e9a2b9451e0fc4cd8d5e2908c26eb1758fd /searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp | |
parent | 1cfea65b9bc71b472e9dc3370b120cf428b6ece0 (diff) |
Use a common FNET_Transport owned by Proton in both SceduledExecutor and TransactionLogServer.
This reduces the number of Transport object by 1 per document type and netto 1 in Proton.
Each of them contains 2 threads.
In addition it uses a common Transport for the RpcFileAcquirer objects used during config fetching.
This prevents creating 3 temporary Transport objects on every reconfig.
Diffstat (limited to 'searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp')
-rw-r--r-- | searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp index 904937a26da..c20f14d2d81 100644 --- a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp +++ b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp @@ -33,7 +33,9 @@ #include <vespa/vespalib/testkit/testapp.h> #include <vespa/vespalib/util/lambdatask.h> #include <vespa/vespalib/util/exceptions.h> +#include <vespa/vespalib/util/size_literals.h> #include <vespa/vespalib/io/fileutil.h> +#include <vespa/fnet/transport.h> #include <vespa/log/log.h> LOG_SETUP("feedhandler_test"); @@ -407,6 +409,8 @@ struct MyTlsWriter : TlsWriter { struct FeedHandlerFixture { DummyFileHeaderContext _fileHeaderContext; + FastOS_ThreadPool _threadPool; + FNET_Transport _transport; TransLogServer tls; vespalib::string tlsSpec; vespalib::ThreadStackExecutor sharedExecutor; @@ -423,7 +427,9 @@ struct FeedHandlerFixture FeedHandler handler; FeedHandlerFixture() : _fileHeaderContext(), - tls("mytls", 9016, "mytlsdir", _fileHeaderContext, DomainConfig().setPartSizeLimit(0x10000)), + _threadPool(64_Ki), + _transport(), + tls(_transport, "mytls", 9016, "mytlsdir", _fileHeaderContext, DomainConfig().setPartSizeLimit(0x10000)), tlsSpec("tcp/localhost:9016"), sharedExecutor(1, 0x10000), writeService(sharedExecutor), @@ -437,6 +443,7 @@ struct FeedHandlerFixture handler(writeService, tlsSpec, schema.getDocType(), owner, writeFilter, replayConfig, tls, &tls_writer) { + _transport.Start(&_threadPool); _state.enterLoadState(); _state.enterReplayTransactionLogState(); handler.setActiveFeedView(&feedView); @@ -446,6 +453,7 @@ struct FeedHandlerFixture ~FeedHandlerFixture() { writeService.shutdown(); + _transport.ShutDown(true); } template <class FunctionType> inline void runAsMaster(FunctionType &&function) { |