summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-05-15 17:02:18 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-05-15 17:03:21 +0000
commit220cd18a448d2a199cb57067be9d7b36012fd481 (patch)
tree09bc725896e751a1d2c03ba53f6c0bc61ea4df35
parente35d4f9559ac5a236de74d6c3707e17e7e505c7f (diff)
Expose the shared executor as a ThreadExecutor directly
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h8
-rw-r--r--searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h8
-rw-r--r--searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h4
-rw-r--r--searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h2
5 files changed, 9 insertions, 14 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
index f971b0dcce7..262363f4250 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
@@ -19,7 +19,6 @@ ExecutorThreadingService::ExecutorThreadingService(vespalib::ThreadStackExecutor
_masterService(_masterExecutor),
_indexService(_indexExecutor),
_summaryService(_summaryExecutor),
- _sharedService(_sharedExecutor),
_indexFieldInverter(std::make_unique<SequencedTaskExecutor>(threads, taskLimit)),
_indexFieldWriter(std::make_unique<SequencedTaskExecutor>(threads, taskLimit)),
_attributeFieldWriter(std::make_unique<SequencedTaskExecutor>(threads, taskLimit))
diff --git a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h
index 1e63aa11df5..9ab6eba39e1 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h
+++ b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h
@@ -25,7 +25,6 @@ private:
ExecutorThreadService _masterService;
ExecutorThreadService _indexService;
ExecutorThreadService _summaryService;
- ExecutorThreadService _sharedService;
std::unique_ptr<search::SequencedTaskExecutor> _indexFieldInverter;
std::unique_ptr<search::SequencedTaskExecutor> _indexFieldWriter;
std::unique_ptr<search::SequencedTaskExecutor> _attributeFieldWriter;
@@ -62,9 +61,6 @@ public:
vespalib::ThreadStackExecutorBase &getSummaryExecutor() {
return _summaryExecutor;
}
- vespalib::ThreadStackExecutorBase &getSharedExecutor() {
- return _sharedExecutor;
- }
/**
* Implements IThreadingService
@@ -79,8 +75,8 @@ public:
searchcorespi::index::IThreadService &summary() override {
return _summaryService;
}
- searchcorespi::index::IThreadService &shared() override {
- return _sharedService;
+ vespalib::ThreadExecutor &shared() override {
+ return _sharedExecutor;
}
search::ISequencedTaskExecutor &indexFieldInverter() override;
diff --git a/searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h b/searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h
index 905ec5ef07b..c8d0f8968c9 100644
--- a/searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h
+++ b/searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h
@@ -23,18 +23,18 @@ public:
/**
* Implements IThreadService
*/
- virtual vespalib::Executor::Task::UP execute(vespalib::Executor::Task::UP task) override {
+ vespalib::Executor::Task::UP execute(vespalib::Executor::Task::UP task) override {
++_executeCnt;
return _service.execute(std::move(task));
}
- virtual void run(vespalib::Runnable &runnable) override {
+ void run(vespalib::Runnable &runnable) override {
_service.run(runnable);
}
- virtual vespalib::Syncable &sync() override {
+ vespalib::Syncable &sync() override {
_service.sync();
return *this;
}
- virtual bool isCurrentThread() const override {
+ bool isCurrentThread() const override {
return _service.isCurrentThread();
}
size_t getNumThreads() const override { return _service.getNumThreads(); }
diff --git a/searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h b/searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h
index 750d6160a84..e1a4433ed4b 100644
--- a/searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h
+++ b/searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h
@@ -15,7 +15,7 @@ private:
ThreadServiceObserver _master;
ThreadServiceObserver _index;
ThreadServiceObserver _summary;
- ThreadServiceObserver _shared;
+ vespalib::ThreadExecutor & _shared;
search::SequencedTaskExecutorObserver _indexFieldInverter;
search::SequencedTaskExecutorObserver _indexFieldWriter;
search::SequencedTaskExecutorObserver _attributeFieldWriter;
@@ -72,7 +72,7 @@ public:
searchcorespi::index::IThreadService &summary() override {
return _summary;
}
- searchcorespi::index::IThreadService &shared() override {
+ vespalib::ThreadExecutor &shared() override {
return _shared;
}
search::ISequencedTaskExecutor &indexFieldInverter() override {
diff --git a/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h b/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h
index 9cb83b67936..eb80eff19ac 100644
--- a/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h
+++ b/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h
@@ -54,7 +54,7 @@ struct IThreadingService : public vespalib::Syncable
virtual IThreadService &master() = 0;
virtual IThreadService &index() = 0;
virtual IThreadService &summary() = 0;
- virtual IThreadService &shared() = 0;
+ virtual vespalib::ThreadExecutor &shared() = 0;
virtual search::ISequencedTaskExecutor &indexFieldInverter() = 0;
virtual search::ISequencedTaskExecutor &indexFieldWriter() = 0;
virtual search::ISequencedTaskExecutor &attributeFieldWriter() = 0;