Fix the resolvers RTT-ranged responses statistics counters
When a response times out the fctx_cancelquery() function incorrectly calculates it in the 'dns_resstatscounter_queryrtt5' counter (i.e. >=1600 ms). To avoid this, the rctx_timedout() function should make sure that 'rctx->finish' is NULL. And in order to adjust the RTT values for the timed out server, 'rctx->no_response' should be true. Update the rctx_timedout() function to make those changes.
This commit is contained in:
committed by
Arаm Sаrgsyаn
parent
12e7dfa397
commit
830e548111
+3
-2
@@ -8049,6 +8049,9 @@ rctx_timedout(respctx_t *rctx) {
|
||||
fctx->timeout = true;
|
||||
fctx->timeouts++;
|
||||
|
||||
rctx->no_response = true;
|
||||
rctx->finish = NULL;
|
||||
|
||||
now = isc_time_now();
|
||||
/* netmgr timeouts are accurate to the millisecond */
|
||||
if (isc_time_microdiff(&fctx->expires, &now) < US_PER_MS) {
|
||||
@@ -8059,8 +8062,6 @@ rctx_timedout(respctx_t *rctx) {
|
||||
} else {
|
||||
FCTXTRACE("query timed out; trying next server");
|
||||
/* try next server */
|
||||
rctx->no_response = true;
|
||||
rctx->finish = NULL;
|
||||
rctx->next_server = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user