impossible de démarshaler le message DNS
Ce n'est pas tout à fait lié au pilote MongoDB Go.
Il existe un correctif dans Go version 1.11.x #10622 net :les noms de domaine cibles dans les enregistrements SRV ne doivent pas être compressés, ce qui resserre la manière dont les enregistrements SRV sont lus pour suivre la RFC-2782.
Si un serveur DNS faisant autorité (non conforme) envoie un enregistrement SRV en utilisant la compression de nom de domaine, le net.lookupSRV()
lancera une erreur avec cannot unmarshal DNS message
(net/lookup_unix.go#L130). Par exemple, le Docker DNS intégré effectue peut-être la compression du nom du serveur.
Les solutions de contournement pour Go v1.11 sont :
- Utiliser l'URI MongoDB non-SRV
- Mettre à jour le contenu de
/etc/resolv.conf
en remplaçant lenameserver
d'utiliser un serveur DNS conforme et/ou public c'est-à-dire1.1.1.1
ou8.8.8.8
Voir aussi GODRIVER-829