summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2015-02-26 21:55:47 +0000
committerAlan Conway <aconway@apache.org>2015-02-26 21:55:47 +0000
commit46abec8a404f17b2d2f2ab18f3d67ca7ceef6165 (patch)
treec0c945a022deb08073c7f98c4ed4e60750922d2e /qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp
parent50a8c4aa1d572ad9fbfebda5e46457c6b10164c0 (diff)
downloadqpid-python-46abec8a404f17b2d2f2ab18f3d67ca7ceef6165.tar.gz
QPID-6413: Sporadic failure of HA tests causd by maxNegotiateTimeout
Increased maxNegotiateTimeout to the default (10 seconds). A smaller value speeds up detection of non-running brokers on remote hosts, but this is not necessary for the tests. Increased some other test timeouts and added some improved error reporting. The occasional long (> 1 second) connection delays are caused by Cyrus SASL authentication. Not clear why this takes so long, but that is a separate issue. Here's a client log excerpt showing the delay. 2015-02-25 08:29:37.461299895 [Network] trace RECV [[127.0.0.1:34247-127.0.0.1:45983]]: Frame[BEbe; channel=0; {ConnectionStartBody: server-properties={qpid.federation_tag:V2:36:str16(77800bff-a176-46c1-917a-32f136dee650)}; mechanisms=str16{V2:9:str16(ANONYMOUS), V2:5:str16(PLAIN)}; locales=str16{V2:5:str16(en_US)}; }] 2015-02-25 08:29:37.463116303 [Security] debug CyrusSasl::start(ANONYMOUS PLAIN) (Note delay > 1 sec here) 2015-02-25 08:29:38.839793753 [Security] debug min_ssf: 0, max_ssf: 256 2015-02-25 08:29:38.839851781 [Security] debug CyrusSasl::start(ANONYMOUS PLAIN): selected ANONYMOUS response: 'anonymous@wallace' 2015-02-25 08:29:38.839963162 [Client] warning Connection [127.0.0.1:34247-127.0.0.1:45983] closed git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.32@1662578 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp')
-rw-r--r--qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp b/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp
index 7be625a1a3..2037ba38ab 100644
--- a/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp
+++ b/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp
@@ -36,17 +36,20 @@ namespace sys {
struct ProtocolTimeoutTask : public sys::TimerTask {
AsynchIOHandler& handler;
std::string id;
+ Duration timeout;
- ProtocolTimeoutTask(const std::string& i, const Duration& timeout, AsynchIOHandler& h) :
- TimerTask(timeout, "ProtocolTimeout"),
+ ProtocolTimeoutTask(const std::string& i, const Duration& timeout_, AsynchIOHandler& h) :
+ TimerTask(timeout_, "ProtocolTimeout"),
handler(h),
- id(i)
+ id(i),
+ timeout(timeout_)
{}
void fire() {
// If this fires it means that we didn't negotiate the connection in the timeout period
// Schedule closing the connection for the io thread
- QPID_LOG(error, "Connection " << id << " No protocol received closing");
+ QPID_LOG(error, "Connection " << id << " No protocol received after " << timeout
+ << ", closing");
handler.abort();
}
};