Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Permanent gaierror 'Temporary failure in name resolution' after running for a few hours

I have a long running python script, launched with upstart. This script makes quite a lot of requests. Everything works well at first, however after a few hours I start permanently getting the following error for each request:

  File "/opt/a/a-env/local/lib/python2.7/site-packages/atom/client.py", line 119, in request
  File "/opt/a/a-env/local/lib/python2.7/site-packages/atom/http_core.py", line 420, in request
  File "/opt/a/a-env/local/lib/python2.7/site-packages/atom/http_core.py", line 489, in _http_request
  File "/usr/lib/python2.7/httplib.py", line 931, in endheaders
  File "/usr/lib/python2.7/httplib.py", line 794, in _send_output
  File "/usr/lib/python2.7/httplib.py", line 756, in send
  File "/usr/lib/python2.7/httplib.py", line 1134, in connect
  File "/usr/lib/python2.7/socket.py", line 553, in create_connection
gaierror: [Errno -3] Temporary failure in name resolution

This is not a problem with name resolution or DNS, because a simple restart of the application fixes this problem.

I've tried both Python 2.6 a 2.7 and the same situation occurs.

I'm running Linux 2.6.35-30-virtual #61-Ubuntu SMP Tue Oct 11 18:26:36 UTC 2011 x86_64 GNU/Linux

There have been a few posts with this problem, but none with a straightforward explanation or solution:

  • https://github.com/ggstuart/greenview/issues/4
  • Permanent 'Temporary failure in name resolution' after running for a number of hours
like image 736
lipka Avatar asked Dec 26 '11 08:12

lipka


1 Answers

I think this happens when you get in a "too many open files" condition. Next time this happens, try to see how many file descriptors your script has open.

like image 121
tsg Avatar answered Oct 02 '22 03:10

tsg