summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@yahoo-inc.com>2017-05-22 12:42:07 +0000
committerTor Egge <Tor.Egge@yahoo-inc.com>2017-05-22 12:42:07 +0000
commitedb06b01c1c81e333ac318265e2f88778d981a6c (patch)
tree16e9efe97c0689e592c28753de02944e6993fcc0 /searchcore
parentb5eb310aa8a6cd8b44d73891d8064692dca7421a (diff)
Report min of service layer config generation and proton config generation
when reporting component config in service layer state server.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/apps/proton/proton.cpp9
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/proton.cpp11
2 files changed, 9 insertions, 11 deletions
diff --git a/searchcore/src/apps/proton/proton.cpp b/searchcore/src/apps/proton/proton.cpp
index b24a94f0bea..4bb1eb69996 100644
--- a/searchcore/src/apps/proton/proton.cpp
+++ b/searchcore/src/apps/proton/proton.cpp
@@ -114,6 +114,7 @@ public:
// down component.
_metricManager = &mm;
}
+ virtual int64_t getGeneration() const override;
};
ProtonServiceLayerProcess::ProtonServiceLayerProcess(const config::ConfigUri &
@@ -151,6 +152,14 @@ ProtonServiceLayerProcess::getProvider()
return _downPersistence ? *_downPersistence : _proton.getPersistence();
}
+int64_t
+ProtonServiceLayerProcess::getGeneration() const
+{
+ int64_t slGen = storage::ServiceLayerProcess::getGeneration();
+ int64_t protonGen = _proton.getConfigGeneration();
+ return std::min(slGen, protonGen);
+}
+
int
App::Main()
{
diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.cpp b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
index 2c9231a40ff..232ba2f808a 100644
--- a/searchcore/src/vespa/searchcore/proton/server/proton.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
@@ -883,17 +883,6 @@ int64_t
Proton::getConfigGeneration(void)
{
int64_t g = _protonConfigurer.getActiveConfigSnapshot()->getBootstrapConfig()->getGeneration();
- std::vector<DocumentDB::SP> dbs;
- {
- std::shared_lock<std::shared_timed_mutex> guard(_mutex);
- for (const auto &kv : _documentDBMap) {
- dbs.push_back(kv.second);
- }
- }
- for (const auto &docDb : dbs) {
- int64_t ddbActiveGen = docDb->getActiveGeneration();
- g = std::min(g, ddbActiveGen);
- }
return g;
}