Test Failure - test_dns_failures is failing

XMLWordPrintableJSON

    • Type: Build Failure
    • Resolution: Fixed
    • Priority: Unknown
    • 4.13
    • Affects Version/s: None
    • Component/s: greenerbuild
    • None
    • None
    • Python Drivers
    • Not Needed
    • 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

      test_dns_failures is failing often on windows Python 3.13:

       [2025/04/07 10:41:44.698] FAILURE: pymongo.errors.ConfigurationError: The resolution lifetime expired after 20.103 seconds: Server Do53:10.122.0.2@53 answered The DNS operation timed out after 0.000 seconds; Server Do53:10.0.0.2@53 answered The DNS operation timed out after 1.999 seconds; Server Do53:10.122.0.2@53 answered The DNS operation timed out after 1.999 seconds; Server Do53:10.0.0.2@53 answered The DNS operation timed out after 1.999 seconds; Server Do53:10.122.0.2@53 answered The DNS operation timed out after 2.000 seconds; Server Do53:10.0.0.2@53 answered The DNS operation timed out after 1.999 seconds; Server Do53:10.122.0.2@53 answered The DNS operation timed out after 1.901 seconds ()
       [2025/04/07 10:41:44.698] self = <test.asynchronous.test_srv_polling.TestSrvPolling testMethod=test_dns_failures>
       [2025/04/07 10:41:44.698]     async def test_dns_failures(self):
       [2025/04/07 10:41:44.698]         from dns import exception
       [2025/04/07 10:41:44.698]     
       [2025/04/07 10:41:44.698]         for exc in (exception.FormError, exception.TooBig, exception.Timeout):
       [2025/04/07 10:41:44.698]     
       [2025/04/07 10:41:44.698]             def response_callback(*args):
       [2025/04/07 10:41:44.698]                 raise exc("DNS Failure!")
       [2025/04/07 10:41:44.698]     
       [2025/04/07 10:41:44.698] >           await self.run_scenario(response_callback, False)
       [2025/04/07 10:41:44.698] test\asynchronous\test_srv_polling.py:222: 
       [2025/04/07 10:41:44.698] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
       [2025/04/07 10:41:44.698] test\asynchronous\test_srv_polling.py:179: in run_scenario
       [2025/04/07 10:41:44.698]     await client.aconnect()
       [2025/04/07 10:41:44.698] pymongo\asynchronous\mongo_client.py:1012: in aconnect
       [2025/04/07 10:41:44.698]     await self._get_topology()
       [2025/04/07 10:41:44.698] pymongo\asynchronous\mongo_client.py:1722: in _get_topology
       [2025/04/07 10:41:44.698]     await self._resolve_srv()
       [2025/04/07 10:41:44.698] pymongo\asynchronous\mongo_client.py:905: in _resolve_srv
       [2025/04/07 10:41:44.698]     res = await uri_parser._parse_srv(
       [2025/04/07 10:41:44.698] pymongo\asynchronous\uri_parser.py:164: in _parse_srv
       [2025/04/07 10:41:44.698]     dns_options = await dns_resolver.get_options()
       [2025/04/07 10:41:44.698] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
       [2025/04/07 10:41:44.698] self = <pymongo.asynchronous.srv_resolver._SrvResolver object at 0x000002265CA5D4D0>
       [2025/04/07 10:41:44.698]     async def get_options(self) -> Optional[str]:
       [2025/04/07 10:41:44.698]         from dns import resolver
       [2025/04/07 10:41:44.698]     
       [2025/04/07 10:41:44.698]         try:
       [2025/04/07 10:41:44.698]             results = await _resolve(self.__fqdn, "TXT", lifetime=self.__connect_timeout)
       [2025/04/07 10:41:44.698]         except (resolver.NoAnswer, resolver.NXDOMAIN):
       [2025/04/07 10:41:44.698]             # No TXT records
       [2025/04/07 10:41:44.698]             return None
       [2025/04/07 10:41:44.698]         except Exception as exc:
       [2025/04/07 10:41:44.698] >           raise ConfigurationError(str(exc)) from None
       [2025/04/07 10:41:44.698] E           pymongo.errors.ConfigurationError: The resolution lifetime expired after 20.103 seconds: Server Do53:10.122.0.2@53 answered The DNS operation timed out after 0.000 seconds; Server Do53:10.0.0.2@53 answered The DNS operation timed out after 1.999 seconds; Server Do53:10.122.0.2@53 answered The DNS operation timed out after 1.999 seconds; Server Do53:10.0.0.2@53 answered The DNS operation timed out after 1.999 seconds; Server Do53:10.122.0.2@53 answered The DNS operation timed out after 2.000 seconds; Server Do53:10.0.0.2@53 answered The DNS operation timed out after 1.999 seconds; Server Do53:10.122.0.2@53 answered The DNS operation timed out after 1.901 seconds
       [2025/04/07 10:41:44.698] pymongo\asynchronous\srv_resolver.py:109: ConfigurationError
      

      https://spruce.mongodb.com/task/mongo_python_driver_test_win64_python3.13_test_4.0_standalone_noauth_nossl_async_79e5d601397f6d3891d9eaf881b43fd40a712ee2_25_04_07_14_48_05/tests?execution=0&sortBy=STATUS&sortDir=ASC

      This was probably caused by PYTHON-3636.

            Assignee:
            Steve Silvester
            Reporter:
            Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: