pcp
[Top] [All Lists]

Connection timeouts and getaddrinfo

To: Dave Brolley <brolley@xxxxxxxxxx>
Subject: Connection timeouts and getaddrinfo
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue, 3 May 2016 02:26:09 -0400 (EDT)
Cc: pcp <pcp@xxxxxxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <1958089060.44789643.1462239866769.JavaMail.zimbra@xxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: +nonXH/iKGKrxZgbXAVrhZGPhgh1cA==
Thread-topic: Connection timeouts and getaddrinfo
Hi Dave,

I came across this quirky libpcp networking behaviour today as
I was looking further into Rares' recently reported issue ...

$ time /usr/libexec/pcp/bin/pmcd_wait -h oss.sgi.com -t 2

real    0m6.349s
user    0m0.001s
sys     0m0.005s

The -t 2 there sets PMCD_CONNECT_TIMEOUT.  So, what I think we
see here (timeout taking 3x longer than expected) is that the
getaddrinfo loop in __pmAuxConnectPMCDPort causes the timeout
to be (re-)applied for each address returned.  strace shows we
definitely see 3 connect() attempts in the above example.

Not sure what the correct behaviour should be here - thoughts?
Seems like its probably not doing what users would expect atm.

cheers.

--
Nathan

<Prev in Thread] Current Thread [Next in Thread>