File tree Expand file tree Collapse file tree 1 file changed +10
-7
lines changed
src/neo4j/_async_compat/network Expand file tree Collapse file tree 1 file changed +10
-7
lines changed Original file line number Diff line number Diff line change @@ -184,14 +184,17 @@ def _dns_resolver(address, family=0):
184184 type = socket .SOCK_STREAM ,
185185 )
186186 except OSError as e :
187- if e .errno in _RETRYABLE_DNS_ERRNOS or (
188- e .errno in _EAI_NONAME
189- and (address .host is not None or address .port is not None )
187+ # note: on some systems like Windows, EAI_NONAME and EAI_NODATA
188+ # have the same error-code.
189+ if e .errno in _EAI_NONAME and (
190+ address .host is None and address .port is None
190191 ):
191- raise ServiceUnavailable (
192- f"Failed to DNS resolve address { address } : { e } "
193- ) from e
194- raise ValueError (
192+ err_cls = ValueError
193+ elif e .errno in _RETRYABLE_DNS_ERRNOS or e .errno in _EAI_NONAME :
194+ err_cls = ServiceUnavailable
195+ else :
196+ err_cls = ValueError
197+ raise err_cls (
195198 f"Failed to DNS resolve address { address } : { e } "
196199 ) from e
197200 return _resolved_addresses_from_info (info , address ._host_name )
You can’t perform that action at this time.
0 commit comments