The initial DNS seedlist discovery specification outlines how to query DNS, however it does not provide guidance regarding retrying DNS queries on failure.
Having the DNS query fail can result in user-facing issues as:
- Failed SRV queries will result in no seed list being available at all
- Failed TXT queries can results in the authSource missing (which will result in the database in the connection string being used for authentication), or loadBalanced=true missing if URI is for a serverless cluster
In the cases where DNS seedlists are used connections should not fail on the first occurrence of a connection failure (ex: querySrv ECONNREFUSED), but should instead be retried for a configurable period as the error may be transient.