Ticket #206
(closed defect: fixed)
resolver is not asynchronous
| Reported by: |
Simon |
Owned by: |
Simon
|
|
Priority:
|
major
|
Component:
|
resolver
|
|
Version:
|
2.2
|
Keywords:
|
|
|
Cc:
|
|
Tracforge_linkmap:
|
|
|
Blocking:
|
|
Blocked By:
|
|
The resolver is not asynchronous and only responds to each request as it comes in. This effectively makes new s2s outgoing connections block and fail if the resolver is busy:
00:00:00 s2s needs to resolve A for outgoing connection, sends to resolver
00:00:01 resolver starts resolving A
00:00:05 s2s needs to resolve B for outgoing connection, sends to resolver
00:01:30 s2s checks timeouts and fails the outgoing connection to both A and B
00:02:01 resolver fails to resolve A and returns failure response
00:02:01 resolver starts resolving B
00:02:02 resolver returns response
The resolver needs to queue and asynchronously resolve hostnames instead to avoid unresponsive DNS resolution blocking other connections from working.
Attachments
-
patch_206_r1.patch
(68.6 KB) - added by Simon
6 months ago.
-
Initial patch to fix this (note: resolver/ dir deleted)
-
patch_206_r2.patch
(70.5 KB) - added by Simon
6 months ago.
-
Second revision, checks dns_submit hasn't failed (note: resolver/ dir deleted)
-
patch_206_r3.patch
(80.9 KB) - added by Simon
6 months ago.
-
Third revision, negative dns caching, and automatic connection retries (note: resolver/ dir deleted)
-
patch_206_r4.patch
(87.5 KB) - added by Simon
6 months ago.
-
Fourth revision, all planned changes completed (note: resolver/ dir deleted)
-
patch_206_r5.patch
(87.5 KB) - added by Simon
6 months ago.
-
Fifth revision, fixes use after free if dns cache is disabled and freeing of cancelled active queries (note: resolver/ dir deleted)
-
patch_206_r6.patch
(89.3 KB) - added by Simon
6 months ago.
-
Fixes retry failure in non-reuse mode. Removes jabberd.cfg references to resolver and resolver man page.
-
patch_206_r7.patch
(89.6 KB) - added by Simon
6 months ago.
-
Accumulate weighting if a host is repeated, fix a bug in the reuse dest key use.
-
patch_206_r8.patch
(90.0 KB) - added by Simon
6 months ago.
-
Updated to handle adding up the weights of gmail.com's multiple hostnames all resolving to the same IP/port…
-
patch_206_r9.patch
(90.5 KB) - added by Simon
6 months ago.
-
Remove hosts from failure list when sending dialbacks (i.e. connection is online)
-
patch_206_r10.patch
(99.0 KB) - added by Simon
6 months ago.
-
Includes fixes for #216 and #208
Change History