diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/IceGrid/Database.cpp | 9 | ||||
-rw-r--r-- | cpp/src/IceGrid/NodeSessionI.cpp | 9 | ||||
-rw-r--r-- | cpp/src/IceGrid/RegistryI.cpp | 4 | ||||
-rw-r--r-- | cpp/src/IceGrid/ServerI.cpp | 5 |
4 files changed, 20 insertions, 7 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp index 1f777a3675f..42082b7fddc 100644 --- a/cpp/src/IceGrid/Database.cpp +++ b/cpp/src/IceGrid/Database.cpp @@ -628,7 +628,14 @@ Database::removeApplication(const string& name, AdminSessionI* session) if(session) { - for_each(entries.begin(), entries.end(), IceUtil::voidMemFun(&ServerEntry::sync)); + try + { + for_each(entries.begin(), entries.end(), IceUtil::voidMemFun(&ServerEntry::sync)); + } + catch(const DeploymentException&) + { + // Ignore, this is traced by the node cache. + } } else { diff --git a/cpp/src/IceGrid/NodeSessionI.cpp b/cpp/src/IceGrid/NodeSessionI.cpp index 35ca723dfa3..fcffcc71324 100644 --- a/cpp/src/IceGrid/NodeSessionI.cpp +++ b/cpp/src/IceGrid/NodeSessionI.cpp @@ -90,7 +90,14 @@ NodeSessionI::loadServers(const Ice::Current& current) const Ice::StringSeq servers = _database->getAllNodeServers(_name); for(Ice::StringSeq::const_iterator p = servers.begin(); p != servers.end(); ++p) { - _database->getServer(*p); + try + { + _database->getServer(*p); + } + catch(const Ice::UserException&) + { + // Ignore. + } } } diff --git a/cpp/src/IceGrid/RegistryI.cpp b/cpp/src/IceGrid/RegistryI.cpp index 6c8ca721618..9b4bd473f4f 100644 --- a/cpp/src/IceGrid/RegistryI.cpp +++ b/cpp/src/IceGrid/RegistryI.cpp @@ -218,7 +218,7 @@ RegistryI::start(bool nowarn) // // TODO: Deprecate AdminSessionTimeout? // - int sessionTimeout = properties->getPropertyAsIntWithDefault("IceGrid.Registry.AdminSessionTimeout", 10); + int sessionTimeout = properties->getPropertyAsIntWithDefault("IceGrid.Registry.AdminSessionTimeout", 30); _sessionTimeout = properties->getPropertyAsIntWithDefault("IceGrid.Registry.SessionTimeout", sessionTimeout); // @@ -258,7 +258,7 @@ RegistryI::start(bool nowarn) registryTopicManagerId, "Registry"); - int t = properties->getPropertyAsIntWithDefault("IceGrid.Registry.NodeSessionTimeout", 10); + int t = properties->getPropertyAsIntWithDefault("IceGrid.Registry.NodeSessionTimeout", 30); t = properties->getPropertyAsIntWithDefault("IceGrid.Registry.InternalSessionTimeout", t); _database = new Database(registryAdapter, _iceStorm->getTopicManager(), _instanceName, t, _traceLevels, _master); diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp index 9c24a7a2dec..efcbcef6f88 100644 --- a/cpp/src/IceGrid/ServerI.cpp +++ b/cpp/src/IceGrid/ServerI.cpp @@ -1010,9 +1010,8 @@ ServerI::destroy(const AMD_Node_destroyServerPtr& amdCB, const string& uuid, int { if(_info.uuid.empty()) { - DeploymentException ex; - ex.reason = "server doesn't exist (`" + uuid + "')"; - throw ex; + amdCB->ice_response(); + return; // Server doesn't exist. } else if(_info.uuid != uuid) { |