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