Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Permanent 'Temporary failure in name resolution' after running for a number of hours

After running for a number of hours on Linux, my Python 2.6 program that uses urllib2, httplib and threads, starts raising this error for every request:

<class 'urllib2.URLError'> URLError(gaierror(-3, 'Temporary failure in name resolution'),)

If I restart the program it starts working again. My guess is some kind of resource exhaustion but I don't know how to check for it. How do I diagnose and fix the problem?

like image 318
2371 Avatar asked Dec 02 '11 12:12

2371


1 Answers

This was caused by a library's failure to close connections, leading to a large number of connections stuck in a CLOSE_WAIT state. Eventually this causes the 'Temporary failure in name resolution' error due to resource exhaustion.

like image 155
2371 Avatar answered Oct 13 '22 19:10

2371