doAgeCache is using
int32_t ttl = iter->getTTD() - now;
to discover the earliest TTD. But if there are expired AND not expired RRs, the condition
if(ttl < 0)
return false; // would be dead anyhow
returns false even though there are still valid RRs that need to be aged.
Attached the patch suggestion.
doAgeCache would sometimes get confused when we mixed expired and non…
…-expired records. Report and patch by Winfried Angele. Closes #438
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@3068 d19b8d6e-7fed-0310-83ef-9ca221ded41b
Attachment '' (doAgeCache.patch) https://gist.github.com/5466733