Address perf problem with system resolver on Windows

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Gone away
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Rust Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      Scope

      Address known performance issue with SRV lookup on Windows system DNS resolver.

      Background & Motivation

      The Rust driver README documents:

      On Windows, there is a known issue in the hickory-resolver crate, which the driver uses to perform DNS lookups, that causes severe performance degradation in resolvers that use the system configuration. Since the driver uses the system configuration by default, users are recommended to specify an alternate resolver configuration on Windows (e.g. ResolverConfig::cloudflare()) until that issue is resolved.

      Quoting RUST-483 from June 2020:

      the trust-dns README indicates that there is an issue with the system resolver on Windows. To mitigate this, we should allow users to specify alternate SRV resolver configurations and then document that users on Windows may need to use a different resolver.

      This appears unresolved in hickory-dns (previously named trust-dns). See related issues:

      HELP-78895 appears to require private DNS servers to resolve DNS records. The system resolver works, but public DNS servers fail (Cloudflare and Google tested). Using the system resolver was recommended as a workaround.

      Ideas

      • Add an option for an alternative DNS implementation (c-ares-resolver?)
      • Contribute a PR to hickory-dns to resolve #2225 (expose a timeout option?)

        1. main.rs
          1 kB
        2. Cargo.toml
          0.1 kB

            Assignee:
            Abraham Egnor
            Reporter:
            Kevin Albertson
            None
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: