Skip to content
Snippets Groups Projects
Commit 247a6ba3 authored by Marek Vavrusa's avatar Marek Vavrusa
Browse files

axfr: progressive bootstrap retry backoff backported

Conflicts:
	src/knot/server/xfr-handler.c
parent d9b98826
No related branches found
No related tags found
No related merge requests found
......@@ -310,6 +310,7 @@ static int xfr_task_close(knot_ns_xfr_t *rq)
/* Reschedule failed bootstrap. */
if (rq->type == XFR_TYPE_AIN && !rq->zone->contents) {
/* Progressive retry interval up to AXFR_RETRY_MAXTIME */
zd->xfr_in.bootstrap_retry *= 2;
zone->xfr_in.bootstrap_retry += knot_random_uint32_t() % AXFR_BOOTSTRAP_RETRY;
if (zone->xfr_in.bootstrap_retry > AXFR_RETRY_MAXTIME) {
zone->xfr_in.bootstrap_retry = AXFR_RETRY_MAXTIME;
......
......@@ -42,8 +42,8 @@
/* Constants. */
#define ZONES_JITTER_PCT 10 /*!< +-N% jitter to timers. */
#define AXFR_BOOTSTRAP_RETRY (30*1000) /*!< Interval between AXFR BS retries. */
#define AXFR_RETRY_MAXTIME (10*60*1000) /*!< Maximum interval 10mins */
#define AXFR_BOOTSTRAP_RETRY (30*1000) /*!< Jitter cap between AXFR bootstrap retries. */
#define AXFR_RETRY_MAXTIME (24*60*60*1000) /*!< Maximum AXFR retry interval cap of 24 hours. */
/* Timer special values. */
#define REFRESH_DEFAULT -1 /* Use time value from zone structure. */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment