]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
WIP: timeout tweaks
authorŠtěpán Balážik <stepan.balazik@nic.cz>
Thu, 3 Sep 2020 14:36:56 +0000 (16:36 +0200)
committerŠtěpán Balážik <stepan.balazik@nic.cz>
Thu, 15 Oct 2020 11:22:21 +0000 (13:22 +0200)
Set retries to 10 and static forwarding timeout to 2000 ms.

lib/defines.h
lib/selection_forward.c

index 4e7c9291b3a499a080ace8c0819bf4b87ab8cb89..683f14418886be79e17fe201caa2fa0d8a5fa198 100644 (file)
@@ -50,7 +50,7 @@ static inline int KR_COLD kr_error(int x) {
 #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. */
index f491707a8e02cdee3676a5f86e92f68318f82e44..27bb1a490739c36a3dd70e96edef3dc2d88ce9cc 100644 (file)
@@ -75,6 +75,10 @@ void forward_choose_transport(struct kr_query *qry, struct kr_transport **transp
        }
 
        *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) {