<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:00:44 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>[SERVER-22556] Get rid of DBClientReplicaSet</title>
                <link>https://jira.mongodb.org/browse/SERVER-22556</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;DBClientRS and its usage within sharding is becoming a nuisance, due to the need to keep a map from the entire connection string back to a shard object. See &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-22485&quot; title=&quot;ShardNotFound error when looking up replica set with hosts in a different order than is stored in the ShardRegistry&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-22485&quot;&gt;&lt;del&gt;SERVER-22485&lt;/del&gt;&lt;/a&gt; for example.&lt;/p&gt;

&lt;p&gt;We should consider removing it and replacing its usages with a combination of just plain ShardConnections and RemoteCommandTargeter.&lt;/p&gt;</description>
                <environment></environment>
        <key id="264427">SERVER-22556</key>
            <summary>Get rid of DBClientReplicaSet</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="backlog-server-sharding">[DO NOT USE] Backlog - Sharding Team</assignee>
                                    <reporter username="kaloian.manassiev@mongodb.com">Kaloian Manassiev</reporter>
                        <labels>
                    </labels>
                <created>Wed, 10 Feb 2016 16:11:18 +0000</created>
                <updated>Tue, 6 Dec 2022 04:33:47 +0000</updated>
                            <resolved>Mon, 9 Dec 2019 15:56:26 +0000</resolved>
                                                                    <component>Networking</component>
                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="2593877" author="sheeri.cabral" created="Mon, 9 Dec 2019 15:56:26 +0000"  >&lt;p&gt;This is necessary in the shell, so we can&apos;t remove it, but we&apos;ve fixed most of the places we could get rid of it (e.g. moveChunk).&lt;/p&gt;</comment>
                            <comment id="1183792" author="spencer" created="Wed, 24 Feb 2016 22:31:35 +0000"  >&lt;p&gt;Users of ScopedDbConnection:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;DBClientCursor&lt;/li&gt;
	&lt;li&gt;ReplicaSetMonitor&lt;/li&gt;
	&lt;li&gt;agg&lt;/li&gt;
	&lt;li&gt;serverStatus&lt;/li&gt;
	&lt;li&gt;moveChunk&lt;/li&gt;
	&lt;li&gt;splitChunk&lt;/li&gt;
	&lt;li&gt;Future::spawnCommand
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;geoNear&lt;/li&gt;
		&lt;li&gt;RunOnAllShardCommand&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;killOp&lt;/li&gt;
	&lt;li&gt;M/R&lt;/li&gt;
	&lt;li&gt;shardCollection (we may also want to consider pushing more of the implementation of this down out of the command body and into the catalog manager)&lt;/li&gt;
	&lt;li&gt;createIndexes&lt;/li&gt;
	&lt;li&gt;collStats&lt;/li&gt;
	&lt;li&gt;dataSize&lt;/li&gt;
	&lt;li&gt;listCollections&lt;/li&gt;
	&lt;li&gt;listIndexes&lt;/li&gt;
	&lt;li&gt;dropDatabase&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Users of ShardConnection:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;moveChunk&lt;/li&gt;
	&lt;li&gt;splitChunk&lt;/li&gt;
	&lt;li&gt;mergeChunks&lt;/li&gt;
	&lt;li&gt;DBClientMultiCommand (used by the write commands)&lt;/li&gt;
	&lt;li&gt;Future::spawnCommand
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;geoNear&lt;/li&gt;
		&lt;li&gt;RunOnAllShardCommand&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;findAndModify&lt;/li&gt;
	&lt;li&gt;M/R&lt;/li&gt;
	&lt;li&gt;agg&lt;/li&gt;
	&lt;li&gt;resetError&lt;/li&gt;
	&lt;li&gt;group&lt;/li&gt;
	&lt;li&gt;geoNear&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="1183788" author="spencer" created="Wed, 24 Feb 2016 22:30:04 +0000"  >&lt;p&gt;The main consumers of DBClientRS are:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;copydb&lt;/li&gt;
	&lt;li&gt;benchRun&lt;/li&gt;
	&lt;li&gt;the shell&lt;/li&gt;
	&lt;li&gt;ScopedDBConnection&lt;/li&gt;
	&lt;li&gt;ShardConnection&lt;/li&gt;
	&lt;li&gt;ParallelSortClusteredCursor&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;copydb shouldn&apos;t be hard to fix if we keep it using DBClientConnection, just using the targeter to connect to a single host&lt;/p&gt;

&lt;p&gt;I&apos;m not sure how hard benchRun or the shell will be to fix.  I suspect benchRun is straightforward so long as it currently always sends ops to the same single server.  The shell I&apos;m less sure about.&lt;/p&gt;

&lt;p&gt;ScopedDBConnection and ShardConnection have lots of callers, which I will enumerate in a follow up comment.  Most instances of both should be easy to change to targeting a single server.&lt;/p&gt;

&lt;p&gt;ParallelSortClusteredCursor can probably also be changed to target a single server, using a direct connection with DBClientConnection.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="263380">SERVER-22485</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="344131">SERVER-27625</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25141"><![CDATA[Sharding]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 24 Feb 2016 22:30:04 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 9 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></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_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 9 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-sharding</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>sheeri.cabral</customfieldvalue>
            <customfieldvalue>spencer@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrkhkn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrdmkf:</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_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="844">Sharding 11 (03/11/16)</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hsf90v:</customfieldvalue>

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