From 33204f403463990853c4393c2f8a2c909f26774a Mon Sep 17 00:00:00 2001 From: Benoit Foucher Date: Wed, 4 Feb 2009 11:21:26 +0100 Subject: Additional fixes for bug 3704 and 2841 --- cpp/src/IceGrid/NodeCache.cpp | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) (limited to 'cpp/src/IceGrid/NodeCache.cpp') diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp index dc6eb107a11..7bd3afe0e63 100644 --- a/cpp/src/IceGrid/NodeCache.cpp +++ b/cpp/src/IceGrid/NodeCache.cpp @@ -133,6 +133,21 @@ struct ToInternalServerDescriptor : std::unary_function 3.3.0 escape the properties. + // + if(_iceVersion == 0 || _iceVersion >= 30300) + { + for(PropertyDescriptorSeq::iterator p = props.begin(); p != props.end(); ++p) + { + if(p->name.find('#') != 0 || !p->value.empty()) + { + p->name = escapeProperty(p->name); + p->value = escapeProperty(p->value); + } + } + } } PropertyDescriptor @@ -976,26 +991,5 @@ NodeEntry::getInternalServerDescriptor(const ServerInfo& info) const // descriptor. // forEachCommunicator(ToInternalServerDescriptor(server, _session->getInfo(), iceVersion))(info.descriptor); - - // - // For Ice servers > 3.3.0 escape the properties. - // - if(iceVersion == 0 || iceVersion >= 30300) - { - PropertyDescriptorSeq newProps; - for(PropertyDescriptorSeq::const_iterator p = props.begin(); p != props.end(); ++p) - { - if(p->value.empty() && p->name.find('#') == 0) - { - newProps.push_back(createProperty(p->name)); - } - else - { - newProps.push_back(createProperty(escapeProperty(p->name), escapeProperty(p->value))); - } - } - server->properties["config"] = newProps; - } - return server; } -- cgit v1.2.3 From a8b3a74f68034679eccd00ecd3561729e8195f2d Mon Sep 17 00:00:00 2001 From: Benoit Foucher Date: Thu, 12 Mar 2009 21:54:43 +0100 Subject: Fixed bug 3839 - ICeGrid/replication test failure, fixed other minor issues --- cpp/src/IceGrid/Database.cpp | 4 ++++ cpp/src/IceGrid/NodeCache.cpp | 2 +- cpp/test/IceGrid/replication/AllTests.cpp | 2 ++ demoscript/Ice/hello.py | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) (limited to 'cpp/src/IceGrid/NodeCache.cpp') diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp index bd3674ea4c8..741462280a7 100644 --- a/cpp/src/IceGrid/Database.cpp +++ b/cpp/src/IceGrid/Database.cpp @@ -1638,6 +1638,10 @@ Database::finishApplicationUpdate(ServerEntrySeq& entries, throw ex; } } + else + { + for_each(entries.begin(), entries.end(), IceUtil::voidMemFun(&ServerEntry::sync)); + } // // Save the application descriptor. diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp index 7bd3afe0e63..5cf227f047e 100644 --- a/cpp/src/IceGrid/NodeCache.cpp +++ b/cpp/src/IceGrid/NodeCache.cpp @@ -800,7 +800,7 @@ NodeEntry::checkSession() const while(_registering) { - if(!timedWait(IceUtil::Time::seconds(5))) + if(!timedWait(IceUtil::Time::seconds(10))) { break; // Consider the node down if it doesn't respond promptly. } diff --git a/cpp/test/IceGrid/replication/AllTests.cpp b/cpp/test/IceGrid/replication/AllTests.cpp index 51fdcc92c7f..a33ba260869 100644 --- a/cpp/test/IceGrid/replication/AllTests.cpp +++ b/cpp/test/IceGrid/replication/AllTests.cpp @@ -1045,6 +1045,8 @@ allTests(const Ice::CommunicatorPtr& comm) admin->startServer("Slave2"); slave2Admin = createAdminSession(slave2Locator, "Slave2"); + waitForNodeState(slave2Admin, "Node1", true); // Node should connect. + try { slave2Admin->startServer("Server"); diff --git a/demoscript/Ice/hello.py b/demoscript/Ice/hello.py index a003b0c9598..a5a1624b9d3 100644 --- a/demoscript/Ice/hello.py +++ b/demoscript/Ice/hello.py @@ -59,7 +59,7 @@ def runtests(client, server, secure): client.sendline('P') client.expect('server delay is now set to 2500ms') client.sendline('t') - client.expect('.*TimeoutException.*', timeout=5) + client.expect('.*TimeoutException.*', timeout=10) server.expect('Hello World!') server.expect('Hello World!') # second because op is idempotent client.sendline('P') -- cgit v1.2.3