<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:01:36 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>[JAVA-4252] Provide options to limit number of mongos servers used in connecting to sharded clusters</title>
                <link>https://jira.mongodb.org/browse/JAVA-4252</link>
                <project id="10006" key="JAVA">Java 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;p&gt;&#160;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="1827519">JAVA-4252</key>
            <summary>Provide options to limit number of mongos servers used in connecting to sharded clusters</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="13201">Fixed</resolution>
                                        <assignee username="jeff.yemin@mongodb.com">Jeffrey Yemin</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                            <label>spec-compliance</label>
                    </labels>
                <created>Wed, 21 Jul 2021 17:50:11 +0000</created>
                <updated>Sat, 28 Oct 2023 11:21:07 +0000</updated>
                            <resolved>Wed, 20 Oct 2021 18:32:42 +0000</resolved>
                                                    <fixVersion>4.4.0</fixVersion>
                                    <component>Cluster Management</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4136142" author="xgen-internal-githook" created="Wed, 20 Oct 2021 18:32:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@mongodb.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Support srvMaxHosts (#806)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4252&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;JAVA-4252&quot;&gt;&lt;del&gt;JAVA-4252&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/337be37696910c43d609603da6e5b5c49dda1ef7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/337be37696910c43d609603da6e5b5c49dda1ef7&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1921543">JAVA-4400</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <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="10250"><![CDATA[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|hr3nan:</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>