diff options
author | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-05-22 12:42:07 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-05-22 12:42:07 +0000 |
commit | edb06b01c1c81e333ac318265e2f88778d981a6c (patch) | |
tree | 16e9efe97c0689e592c28753de02944e6993fcc0 /searchcore | |
parent | b5eb310aa8a6cd8b44d73891d8064692dca7421a (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.cpp | 9 | ||||
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/proton.cpp | 11 |
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; } |