<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:37:48 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>[GODRIVER-2092] Provide options to limit number of mongos servers used in connecting to sharded clusters</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2092</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-color: #cccccc;border-style: dashed;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: dashed;border-bottom-color: #cccccc;background-color: #239eb0;&quot;&gt;&lt;b&gt;Epic Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;h3&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;Supply a mechanism to limit the number of &lt;tt&gt;mongos&lt;/tt&gt; servers&#160;used in connecting&#160;to sharded clusters.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt; Connections using cluster SRV records having many &lt;tt&gt;mongos&lt;/tt&gt; addresses can result in very large numbers of connections to &lt;tt&gt;mongos&lt;/tt&gt; servers. This can lead to a variety of severe performance issues resulting from rapid buildup of connections, both to &lt;tt&gt;mongos&lt;/tt&gt; servers, as well as from &lt;tt&gt;mongos&lt;/tt&gt; servers to shard &lt;tt&gt;mongod&lt;/tt&gt;&#160;servers.  Limiting the &lt;tt&gt;mongos&lt;/tt&gt; servers used in connecting to clusters has been found to help in reducing&#160; high connection counts and associated negative performance impacts.&#160;&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Whoistheaffectedenduser%3F&quot;&gt;&lt;/a&gt;Who is the affected end user?&lt;/h4&gt;
&lt;p&gt;Customers on Atlas using sharded clusters. Per each cluster, Atlas creates 3 mongos. For example, a 25 shard cluster will have 75 mongos instances. Since we default to using an SRV connection string, the MongoDB drivers will effectively have to manage connections to all 75 &lt;tt&gt;mongos&lt;/tt&gt; instances. In one customer&apos;s case, with a large number of application servers, this results in between 10,000 and 13,000 connections to each mongos. &lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Howdoesthisaffecttheenduser%3F&quot;&gt;&lt;/a&gt;How does this affect the end user?&lt;/h4&gt;
&lt;p&gt;A large number of connections to each mongos leads to excessive memory usage by each mongos and on application servers. &lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisissueurgent%3F&quot;&gt;&lt;/a&gt;Is this issue urgent?&lt;/h4&gt;
&lt;p&gt;No, customer has PS designing a workaround&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisticketonlyfortests%3F&quot;&gt;&lt;/a&gt;Is this ticket only for tests?&lt;/h4&gt;
&lt;p&gt;No&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisticketrequiredbyadownstreamteam%3F&quot;&gt;&lt;/a&gt;Is this ticket required by a downstream team?&lt;/h4&gt;
&lt;p&gt;No&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;CastofCharacters&quot;&gt;&lt;/a&gt;Cast of Characters&lt;/h4&gt;
&lt;p&gt;Engineering Lead: &lt;br/&gt;
 Document Author:&lt;br/&gt;
 POCers:&lt;br/&gt;
 Product Owner: Rachelle Palmer&lt;br/&gt;
 Program Manager:&lt;br/&gt;
 Stakeholders:&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment></environment>
        <key id="1827518">GODRIVER-2092</key>
            <summary>Provide options to limit number of mongos servers used in connecting to sharded clusters</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="9">Done</resolution>
                                        <assignee username="benji.rewis@mongodb.com">Benji Rewis</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                    </labels>
                <created>Wed, 21 Jul 2021 17:50:07 +0000</created>
                <updated>Wed, 20 Oct 2021 21:04:27 +0000</updated>
                            <resolved>Fri, 8 Oct 2021 14:54:33 +0000</resolved>
                                                    <fixVersion>1.8.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="4124627" author="xgen-internal-githook" created="Thu, 14 Oct 2021 17:23:30 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benjamin Rewis&apos;, &apos;email&apos;: &apos;32186188+benjirewis@users.noreply.github.com&apos;, &apos;username&apos;: &apos;benjirewis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2092&quot; title=&quot;Provide options to limit number of mongos servers used in connecting to sharded clusters&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2092&quot;&gt;&lt;del&gt;GODRIVER-2092&lt;/del&gt;&lt;/a&gt; Disallow positive srvMaxHosts with replicaSet or loadBalanced=true (#767)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/commit/0a5054ec89097d17a7c43545f933f90590ee8bc2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/commit/0a5054ec89097d17a7c43545f933f90590ee8bc2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4112955" author="benji.rewis" created="Fri, 8 Oct 2021 14:54:33 +0000"  >&lt;p&gt;Added a new &lt;tt&gt;srvMaxHosts&lt;/tt&gt; URI option.&lt;/p&gt;</comment>
                            <comment id="4112949" author="xgen-internal-githook" created="Fri, 8 Oct 2021 14:53:40 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benjamin Rewis&apos;, &apos;email&apos;: &apos;32186188+benjirewis@users.noreply.github.com&apos;, &apos;username&apos;: &apos;benjirewis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2092&quot; title=&quot;Provide options to limit number of mongos servers used in connecting to sharded clusters&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2092&quot;&gt;&lt;del&gt;GODRIVER-2092&lt;/del&gt;&lt;/a&gt; Add srvMaxHosts URI option (#764)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/commit/2fa2b7c7575618b6e47a7f9e78df3e8a831b540a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/commit/2fa2b7c7575618b6e47a7f9e78df3e8a831b540a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4103324" author="benji.rewis" created="Tue, 5 Oct 2021 19:08:31 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/pull/764&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/pull/764&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                                        </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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11861"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY22Q3</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr6k07:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_21457" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Upstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;DRIVERS-1519:&lt;br/&gt;
Introduces an &lt;tt&gt;srvMaxHosts&lt;/tt&gt; MongoClient option, which is used to limit the number of seeds derived from SRV records (and only supported with the &lt;tt&gt;mongodb+srv://&lt;/tt&gt; scheme). Also limits the number of mongos seeds that may be picked up during SRV polling.&lt;/p&gt;

&lt;p&gt;Introduces the following test chnages:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;New spec tests for Initial DNS Seedlist Discovery and URI options specs.&lt;/li&gt;
	&lt;li&gt;New &lt;tt&gt;numSeeds&lt;/tt&gt; and &lt;tt&gt;numHosts&lt;/tt&gt; fields to the Initial DNS Seedlist Discovery spec test format.&lt;/li&gt;
	&lt;li&gt;New SRV Polling prose tests&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Drivers should sync with &lt;a href=&quot;https://github.com/mongodb/specifications/commit/b508f6d2a1819882d40c4e7e73b95fc8ae3bdfe5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications@b508f6d&lt;/a&gt;. If possible, drivers may consider implementing &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-1959&quot; title=&quot;Do not expect both valid:false and warning:true in SRV option URI spec tests&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-1959&quot;&gt;DRIVERS-1959&lt;/a&gt; alongside this ticket and sync to &lt;a href=&quot;https://github.com/mongodb/specifications/commit/84bdb3f59892944efff7ad2b13d6fb1278dd81ba&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications@84bdb3f&lt;/a&gt;, which fixes an issue with the original URI options tests for DRIVERS-1519.&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>