diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-12-20 11:43:28 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-12-20 11:43:28 +0000 |
commit | c82cf1603af8c524b6aa2beeee665a24b777f33e (patch) | |
tree | 8a5fc14704b05d7826e1f84cb435e4ed6f83d299 /cpp/src/IceGrid/Database.cpp | |
parent | More slice2html changes. (diff) | |
download | ice-c82cf1603af8c524b6aa2beeee665a24b777f33e.tar.bz2 ice-c82cf1603af8c524b6aa2beeee665a24b777f33e.tar.xz ice-c82cf1603af8c524b6aa2beeee665a24b777f33e.zip |
- Added internal descriptor types for node-registry communications
- Various bug fixes
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r-- | cpp/src/IceGrid/Database.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp index 09e77531310..0379767b8ac 100644 --- a/cpp/src/IceGrid/Database.cpp +++ b/cpp/src/IceGrid/Database.cpp @@ -48,17 +48,16 @@ Database::Database(const Ice::ObjectAdapterPtr& registryAdapter, const IceStorm::TopicManagerPrx& topicManager, const string& instanceName, const TraceLevelsPtr& traceLevels, - const RegistryInfo& info, - bool master) : + const RegistryInfo& info) : _communicator(registryAdapter->getCommunicator()), _internalAdapter(registryAdapter), _topicManager(topicManager), _envName("Registry"), _instanceName(instanceName), _traceLevels(traceLevels), - _master(master), + _master(info.name == "Master"), _replicaCache(_communicator, topicManager), - _nodeCache(_communicator, _replicaCache, _master), + _nodeCache(_communicator, _replicaCache, info.name), _objectCache(_communicator), _allocatableObjectCache(_communicator), _serverCache(_communicator, _nodeCache, _adapterCache, _objectCache, _allocatableObjectCache), @@ -310,14 +309,13 @@ Database::addApplication(const ApplicationInfo& info, AdminSessionI* session) Lock sync(*this); entries.clear(); unload(ApplicationHelper(_communicator, info.descriptor), entries); - finishUpdating(info.descriptor.name); - notifyAll(); } catch(const DeploymentException& ex) { Ice::Error err(_traceLevels->logger); err << "failed to rollback previous application `" << info.descriptor.name << "':\n" << ex.reason; } + finishUpdating(info.descriptor.name); throw ex; } } @@ -1473,8 +1471,6 @@ Database::finishApplicationUpdate(ServerEntrySeq& entries, ApplicationHelper previous(_communicator, newDesc); ApplicationHelper helper(_communicator, oldApp.descriptor); reload(previous, helper, entries, oldApp.uuid, oldApp.revision); - finishUpdating(newDesc.name); - notifyAll(); } try @@ -1486,6 +1482,8 @@ Database::finishApplicationUpdate(ServerEntrySeq& entries, Ice::Error err(_traceLevels->logger); err << "failed to rollback previous application `" << oldApp.descriptor.name << "':\n" << ex.reason; } + + finishUpdating(newDesc.name); throw ex; } } |