Set retries to 10 and static forwarding timeout to 2000 ms.
#define KR_ITER_LIMIT 100 /* Built-in iterator limit */
#define KR_RESOLVE_TIME_LIMIT 10000 /* Upper limit for resolution time of single query, ms */
#define KR_CNAME_CHAIN_LIMIT 13 /* Built-in maximum CNAME chain length */
-#define KR_TIMEOUT_LIMIT 4 /* Maximum number of retries after timeout. */
+#define KR_TIMEOUT_LIMIT 10 /* Maximum number of retries after timeout. */
#define KR_QUERY_NSRETRY_LIMIT 4 /* Maximum number of retries per query. */
#define KR_COUNT_NO_NSADDR_LIMIT 5
#define KR_CONSUME_FAIL_ROW_LIMIT 3 /* Maximum number of KR_STATE_FAIL in a row. */
}
*transport = choose_transport(choices, valid, NULL, 0, qry->server_selection.timeouts, &qry->request->pool, qry->flags.TCP, &local_state->last_choice_index);
+ if (*transport) {
+ // Set static timeout for forwarding
+ (*transport)->timeout = 2000;
+ }
}
void forward_success(struct kr_query *qry, const struct kr_transport *transport) {