Red Hat Bugzilla – Bug 835639
Bug in DNS cache causes connections until restart of libcurl-using processes
Last modified: 2013-03-05 08:21:56 EST
Description of problem:
A bug fixed in version 7.20 of libcurl is affecting a lot of my customers using software that depends on libcurl and maintains long-lived HTTP connection pools. Older versions had race conditions that "locked" stale DNS lookups in memory and prevented fresh DNS lookups. When IP addresses change, the library fails to detect the change and keeps accessing the stale address.
The bug fix is here:
I don't really guess you'll backport this, but I need to file this and get confirmation for my customers so that a decision on whether to junk use of RH-supplied libcurl will be the only recourse.
Version-Release number of selected component (if applicable):
All versions < 7.20.0 of libcurl, including the one in RH5.
It requires software that relies on connection pooling of libcurl handles and uses multiple threads with some load.
Steps to Reproduce:
1.Load test software using a particular destination name/address.
2.Change the DNS entry.
3.Observe new connections inheriting use of the old address.
The DNS change is not picked up.
New connections should see the change without restarting the process.
I am sorry, but it is too late in the RHEL-5 release cycle. At the moment we are addressing only critical and security related issues in RHEL-5. I am closing the bug as WONTFIX. We will keep tracking this bug for RHEL-6. If the issue is critical for your business, please contact Red Hat Product Support and inform them about this bug.