Exempt prefetches from the fetches-per-zone quota
Give prefetches a free pass through the quota so that the cache entry for a popular zone could be updated successfully even if the quota for it is already reached.
This commit is contained in:
+11
-6
@@ -4661,13 +4661,18 @@ fctx_create(dns_resolver_t *res, isc_loop_t *loop, const dns_name_t *name,
|
||||
}
|
||||
|
||||
/*
|
||||
* Are there too many simultaneous queries for this domain?
|
||||
* Exempt prefetch queries from the fetches-per-zone quota check
|
||||
*/
|
||||
result = fcount_incr(fctx, false);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
result = fctx->res->quotaresp[dns_quotatype_zone];
|
||||
inc_stats(res, dns_resstatscounter_zonequota);
|
||||
goto cleanup_nameservers;
|
||||
if ((fctx->options & DNS_FETCHOPT_PREFETCH) == 0) {
|
||||
/*
|
||||
* Are there too many simultaneous queries for this domain?
|
||||
*/
|
||||
result = fcount_incr(fctx, false);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
result = fctx->res->quotaresp[dns_quotatype_zone];
|
||||
inc_stats(res, dns_resstatscounter_zonequota);
|
||||
goto cleanup_nameservers;
|
||||
}
|
||||
}
|
||||
|
||||
log_ns_ttl(fctx, "fctx_create");
|
||||
|
||||
Reference in New Issue
Block a user