<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:24:41 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[DRIVERS-2083] Codify rules around Driver connection DNS</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2083</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;@xdg brought up that it would be a good idea to specify a few points about Driver DNS in CMAP. Specifically:&lt;/p&gt;

&lt;p&gt;1. Drivers MUST NOT cache DNS results, and always MUST perform a DNS lookup when creating a new connection&lt;br/&gt;
2. Drivers MUST document that DNS Round Robin is not supported, and that Drivers run on the assumption that a host:port combo uniquely maps to a single &lt;tt&gt;mongod&lt;/tt&gt;/&lt;tt&gt;mongos&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;This might be related to the work in &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2164&quot; title=&quot;Specify low level details of connections in drivers.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2164&quot;&gt;&lt;del&gt;SPEC-1205&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="702314">DRIVERS-2083</key>
            <summary>Codify rules around Driver connection DNS</summary>
                <type id="14901" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14700&amp;avatarType=issuetype">Spec Change</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="12300">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="daniel.aprahamian@mongodb.com">Daniel Aprahamian</reporter>
                        <labels>
                            <label>maintainers-close</label>
                    </labels>
                <created>Thu, 21 Feb 2019 20:57:34 +0000</created>
                <updated>Tue, 9 Jan 2024 17:53:52 +0000</updated>
                            <resolved>Tue, 9 Jan 2024 17:53:52 +0000</resolved>
                                                        <component>CMAP</component>
                    <component>SDAM</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="5997989" author="JIRAUSER1258163" created="Tue, 9 Jan 2024 17:53:52 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bailey.pearson%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;bailey.pearson@mongodb.com&quot;&gt;bailey.pearson@mongodb.com&lt;/a&gt; and I decided to close this old ticket after re-triaging it.&lt;/p&gt;</comment>
                            <comment id="5774223" author="JIRAUSER1258163" created="Thu, 12 Oct 2023 17:44:41 +0000"  >&lt;p&gt;The discussion copied from the duplicate DRIVERS-1113.&lt;/p&gt;

&lt;p&gt;Divjot Arora (Inactive)&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=shane.harvey&quot; class=&quot;user-hover&quot; rel=&quot;shane.harvey&quot;&gt;shane.harvey&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=neal.beeken&quot; class=&quot;user-hover&quot; rel=&quot;neal.beeken&quot;&gt;neal.beeken&lt;/a&gt; Patrick and I talked about this when looking at &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2083&quot; title=&quot;Codify rules around Driver connection DNS&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2083&quot;&gt;&lt;del&gt;SPEC-1225&lt;/del&gt;&lt;/a&gt;. We think this probably belongs in a separate spec that talks about low-level connection details similar to what &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2164&quot; title=&quot;Specify low level details of connections in drivers.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2164&quot;&gt;&lt;del&gt;SPEC-1205&lt;/del&gt;&lt;/a&gt; proposes. Do you have any thoughts on this?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Shane Harvey&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Either a new spec or CMAP sounds fine to me. It would be good to document TCP keepalive as well. The current &quot;keepalive spec&quot; exists only in Jira (&lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-383&quot; title=&quot;Enable and configure TCP Keepalive by default&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-383&quot;&gt;&lt;del&gt;DRIVERS-383&lt;/del&gt;&lt;/a&gt; and DRIVERS-1228).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Divjot Arora (Inactive)&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Patrick and I think that adding this to the CMAP spec would overload an already complicated spec. Maybe we could add a new &quot;connection establishment&quot; spec or increase the scope of the handshakes one?&lt;/p&gt;&lt;/blockquote&gt;</comment>
                            <comment id="2161378" author="jeff.yemin" created="Mon, 25 Feb 2019 14:09:25 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.golden&quot; class=&quot;user-hover&quot; rel=&quot;david.golden&quot;&gt;david.golden&lt;/a&gt; sure, that&apos;s totally fine with me.&lt;/p&gt;</comment>
                            <comment id="2161375" author="david.golden" created="Mon, 25 Feb 2019 14:08:51 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jeff.yemin&quot; class=&quot;user-hover&quot; rel=&quot;jeff.yemin&quot;&gt;jeff.yemin&lt;/a&gt;, the intent is for drivers to only ever rely on their environment&apos;s DNS resolver&apos;s caching (and TTL management/configuration) and not &amp;#8211; for example &amp;#8211; store the resolved IP address in the driver and never do a DNS lookup call again.  If we clarify that point, are you OK with it being &quot;MUST&quot;?&lt;/p&gt;</comment>
                            <comment id="2161308" author="jeff.yemin" created="Mon, 25 Feb 2019 12:54:35 +0000"  >&lt;p&gt;The JVM, and likely other runtime environments, provide only global, application-level control over DNS caching.  See &lt;tt&gt;networkaddress.cache.ttl&lt;/tt&gt; documentation at &lt;a href=&quot;https://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html&lt;/a&gt;.  I suggest making this a SHOULD at most.&lt;/p&gt;</comment>
                            <comment id="2160443" author="david.golden" created="Fri, 22 Feb 2019 21:45:41 +0000"  >&lt;p&gt;Might go in both places.&#160; In particular, CMAP covers creating connections, so DNS lookup seemed more natural there. But it&apos;s true for SDAM connections, too, which don&apos;t use a connection pool.&lt;/p&gt;</comment>
                            <comment id="2160419" author="ian@10gen.com" created="Fri, 22 Feb 2019 21:30:25 +0000"  >&lt;p&gt;note that the clarification here should prob be in SDAM not CMAP.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hue3b3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>