summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-02-20 21:24:22 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-02-20 23:46:18 +0000
commit1bb2800fb1bf312689115a7230b1d3ead74d4ac6 (patch)
tree29c84e9a2b9451e0fc4cd8d5e2908c26eb1758fd /searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
parent1cfea65b9bc71b472e9dc3370b120cf428b6ece0 (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.cpp10
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) {