[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Intermittent timeout problem



   Thank you very much Scott for your answer. It does not surprise me. I
   doubted it was an actual timeout issue, the failure was happening in
   less time that the timeout factor. Now, a colleague who read your
   email also just confirmed that they have issues with the network (I am
   just a consultant here). Thanks again, you made my day (I struggled a
   few weeks on this issue).



   Sincerely.



   Hugues Recamier

   Scott Klement <sk@xxxxxxxxxxxxxxxx> wrote:

     Hello Hugues,
     > SetError() #6: connect(): A remote host did not respond within
     the
     > timeout period.
     Heh.. this is a little hard to explain (and I have a feeling you
     won't
     believe me) but this message doesn't mean that the connection is
     timing
     out. :)
     If the connection was actually timing out, the message in the debug
     file
     would look like this:
     SetError() #7: Timeout occurred while trying to connect to server!
     The message you reported, however, is HTTPAPI error #6, not #7. And
     #6
     indicates an error that was sent by the networking code in the
     operating
     system to HTTPAPI. The operating system is sending a CPE3447 (or
     "ETIMEDOUT") to HTTPAPI. (If you type DSPMSGD CPE3447 you'll see
     where
     HTTPAPI is getting the error text from!)
     The reason that I find this message to be very confusing is that,
     despite
     the wording, the error doesn't actually mean that the connection
     timed
     out. It actually means that an excessive number of packets were
     lost.
     The TCP protocol automatically sends and acknowledges packets. When
     you
     send data to the Linux machine, the Linux machine automatically
     acknowledges it. If the i5/OS system doesn't receive an
     acknowledgement,
     it re-sends yhr packet. After it has done this a certain about of
     times,
     it considers it an "excessive number of lost packets" and gives up.
     When
     it gives up for this reason, it returns the ETIMEDOUT error code --
     and
     that's what you're seeing.
     All of this happens automatically as part of the TCP protocol. It's
     not
     handled by code in HTTPAPI or code on the HTTP server of the Linux
     machine. It's entirely internal to the operating system's network
     code.
     This means that no bug in HTTPAPI could cause it. And no bug on the
     Linux
     server's side could cause it. There's a potential for there to be a
     bug
     in the operating systems themselves, but this is extremely unlikely
     because both undergo rigorous testing, and both operating systems
     have
     been time tested by millions of users.
     The most likely cause of the problem is a bad network device. A
     flaky
     (but not yet dead) network cable, network card, hub, switch,
     router, etc.
     Somewhere between the iSeries where HTTPAPI is running and the
     Linux
     machine where the HTTP server is running... It's almost certainly a
     hardware error.
     If this is only happening occasionally, you could simply try
     again... when
     HTTPAPI returns error #6 (you can retrieve that number from the
     HTTP_error() subprocedure) simply call http_url_get() again. Set up
     a
     loop to re-try 5 times. If the error is only sporadic, that should
     solve
     the problem.
     If the problem is happening too frequently, then you'll want to
     hunt down
     the device and fix it.
     If the problem is happening consistently, every time, then it could
     be a
     firewall issue. But it doesn't sound like it's happening all the
     time.
     -------------------------------------------------------------------
     ----
     This is the FTPAPI mailing list. To unsubscribe, please go to:
     http://www.scottklement.com/mailman/listinfo/ftpapi
     -------------------------------------------------------------------
     ----

   To contact me:
   Email: [1]Hugues61@xxxxxxxxx
   Yahoo Messenger: hugues61

   (you can leave a free voice mail on Yahoo Messenger)
   MSN: [2]hugues61@xxxxxxxxx
   SKYPE: huguesrecamier
     _________________________________________________________________

   Do you Yahoo!?
   Get on board. [3]You're invited to try the new Yahoo! Mail.

References

   1. mailto:Hugues61@xxxxxxxxx
   2. mailto:hugues61@xxxxxxxxx
   3. http://us.rd.yahoo.com/evt=40791/*http://advision.webevents.yahoo.com/mailbeta
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------