[DRIVERS-2521] DNS handling for non-default ndots configurations Created: 03/Jan/23  Updated: 17/Jan/23

Status: Backlog
Project: Drivers
Component/s: Initial DNS Seedlist Discovery
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Alex Bevilacqua Assignee: Alex Bevilacqua
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to PYTHON-3536 Pymongo failed to query TXT records o... Closed
Driver Changes: Needed

 Description   

The default /etc/resolve.conf configuration for ndots is 1 for most Linux systems, however in a Kubernetes environment the DNS for Services and Pods defaults this value to 5 (see "Kubernetes pods /etc/resolv.conf ndots:5 option and why it may negatively affect your application performances").

Service discovery in k8s can span the cluster namespace, cluster scope, private DNS (Azure in particular uses this), and so on before trying a fully terminated (non-search) domain. For MongoDB Atlas' SRV records, if the DNS query fails to search all the search domains before resolving the TXT record the authSource=admin URI component will not be appended to the connection string and the MongoClient connection will fail due to an authentication issue.

This issue manifested in PYTHON-3536 but could likely affect all drivers.


Generated at Thu Feb 08 08:25:47 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.