<br><br><div class="gmail_quote">On Fri, Mar 4, 2011 at 4:52 PM, David Beer <span dir="ltr">&lt;<a href="mailto:dbeer@adaptivecomputing.com">dbeer@adaptivecomputing.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Arnau,<br></blockquote><div><br>Hi again David,<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
This is due to a &quot;bug&quot; that was fixed in 2.5.5. Bug is in quotes because the code worked as designed, but the design allowed for TORQUE to hang for over 4 hours in some circumstances. If you configure TORQUE with --with-tcp-retry-limit=2 on TORQUE 2.5.5 it will only retry twice and then move on. The problem is that TORQUE would retry about 900 times and could take 18+ seconds with each retry, which meant that TORQUE could be retrying the same node for about 4.5 hours. The reason this happens is that when a node dies in the middle of the connecting process, the error it gets (as you saw) is EINPROGRESS, which is usually a transient error. However, it will get an EINPROGRESS for every connection on any port, and therefore cause the hang that you observed. Please use 2.5.5 and configure with the tcp retry limit to avoid this error.<br>
</blockquote><div><br><br>I did compile torque 2.5.5  --with-tcp-retry-limit and worked fine for few days. But today, with a new hanged node I saw some similar behaivour:<br><br># strace -p22192<br>Process 22192 attached - interrupt to quit<br>
select(17, NULL, [16], NULL, {1, 662000}) = 0 (Timeout)<br>select(17, NULL, [16], NULL, {5, 0})    = 0 (Timeout)<br>close(16)                               = 0<br>socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 16<br>fcntl(16, F_GETFL)                      = 0x2 (flags O_RDWR)<br>
fcntl(16, F_SETFL, O_RDWR|O_NONBLOCK)   = 0<br>setsockopt(16, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0<br>bind(16, {sa_family=AF_INET, sin_port=htons(1006), sin_addr=inet_addr(&quot;0.0.0.0&quot;)}, 16) = 0<br>connect(16, {sa_family=AF_INET, sin_port=htons(15002), sin_addr=inet_addr(&quot;192.168.100.239&quot;)}, 16) = -1 EINPROGRESS (Operation now in progress)<br>
select(17, NULL, [16], NULL, {5, 0})    = 0 (Timeout)<br>select(17, NULL, [16], NULL, {5, 0})    = 0 (Timeout)<br>close(16)                               = 0<br>socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 16<br>fcntl(16, F_GETFL)                      = 0x2 (flags O_RDWR)<br>
fcntl(16, F_SETFL, O_RDWR|O_NONBLOCK)   = 0<br>setsockopt(16, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0<br>bind(16, {sa_family=AF_INET, sin_port=htons(1007), sin_addr=inet_addr(&quot;0.0.0.0&quot;)}, 16) = -1 EADDRINUSE (Address already in use)<br>
bind(16, {sa_family=AF_INET, sin_port=htons(1008), sin_addr=inet_addr(&quot;0.0.0.0&quot;)}, 16) = 0<br>connect(16, {sa_family=AF_INET, sin_port=htons(15002), sin_addr=inet_addr(&quot;192.168.100.239&quot;)}, 16) = -1 EINPROGRESS (Operation now in progress)<br>
[...]<br><br>and so on...<br><br><br>my configure looks like:<br><br>./configure --prefix=/usr --with-server-home=/var/spool/pbs  --enable-maxdefault --disable-drmaa --with-default-server=<a href="http://pbs.pic.es">pbs.pic.es</a> --disable-xopen-networking  --disable-gui --with-rcp=scp --enable-high-availability --enable-libreadline --with-tcp-retry-limit=2<br>
<br>and after a fine configure with no errror I did &quot;make rpm&quot;.<br><br>Have I done something worng?<br>How may I know if my binary is compiled with tcp-retry-limit?<br><br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

David<br></blockquote></div>