code: def dns_lookup(host, port, afi=socket.AF_UNSPEC):
      
      # XXX: all DNS functions in Python are blocking. If we really
      # want to be non-blocking here, we need to use a 3rd-party
      # library like python-adns, or move resolution onto its
      # own thread. This will be subject to the default libc
      # name resolution timeout (5s on most Linux boxes)
      try:
          return list(filter(is_inet_4_or_6,
                             socket.getaddrinfo(host, port, afi,
                                                socket.SOCK_STREAM)))
      except socket.gaierror as ex:
          log.warning('DNS lookup failed for %s:%d,'
                      ' exception was %s. Is your'
                      ' advertised.listeners (called'
                      ' advertised.host.name before Kafka 9)'
                      ' correct and resolvable?',
                      host, port, ex)
          return []
docs: Returns a list of getaddrinfo structs, optionally filtered to an afi (ipv4 / ipv6)