summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/ServerI.cpp
diff options
context:
space:
mode:
authorMichael Gmelin <mg@grem.de>2017-09-06 16:31:04 +0200
committerBenoit Foucher <benoit@zeroc.com>2017-09-07 19:11:14 +0200
commit57c7be57645cd20abf1e9e72e51612c6a22fa774 (patch)
treed2f15ae4aeb76c5ebb911713001a1ecf60ab08ba /cpp/src/IceGrid/ServerI.cpp
parentFixed .travis.yml to use edge group to try to workaround Python travis issue ... (diff)
downloadice-57c7be57645cd20abf1e9e72e51612c6a22fa774.tar.bz2
ice-57c7be57645cd20abf1e9e72e51612c6a22fa774.tar.xz
ice-57c7be57645cd20abf1e9e72e51612c6a22fa774.zip
Fix adapter list update problem on replica icegridregistries.
When changing adapters in an icebox server (e.g. adding an adapter), a replicated registry still uses the previous list of adapter ids - which means, an icegridnode starting a service fails to do so in case it's using a replicated registry. As it's common to have one master registry and many replicated ones, this gets worse the more replicated registries exist.
Diffstat (limited to 'cpp/src/IceGrid/ServerI.cpp')
-rw-r--r--cpp/src/IceGrid/ServerI.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp
index 767dce8f475..577cd7fedb4 100644
--- a/cpp/src/IceGrid/ServerI.cpp
+++ b/cpp/src/IceGrid/ServerI.cpp
@@ -1232,7 +1232,7 @@ ServerI::load(const AMD_Node_loadServerPtr& amdCB, const InternalServerDescripto
updateRevision(desc->uuid, desc->revision);
}
- if(!_desc)
+ if(!_desc || (_load && descriptorUpdated(_load->getInternalServerDescriptor(), _desc)))
{
_load->addCallback(amdCB);
return 0;