summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceGrid/Database.cpp9
-rw-r--r--cpp/src/IceGrid/NodeSessionI.cpp9
-rw-r--r--cpp/src/IceGrid/RegistryI.cpp4
-rw-r--r--cpp/src/IceGrid/ServerI.cpp5
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)
{