<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:58:09 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-1822] Eliminate duplicate symbols between mongod and mongos files</title>
                <link>https://jira.mongodb.org/browse/SERVER-1822</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Currently it is not possible to link an executable before it decides if it wants to be a mongod or a mongos. &lt;/p&gt;

&lt;p&gt;The underlying reason is that some symbols are implement in one way in a mongod and in a different way in a mongo&apos;s. There are three reasons I can list for that (I&apos;ll attach a list of symbols after this; I just want to get a JIRA number for this now.) &lt;br/&gt;
1. some commands that should behave accordingly (e.g., listDatabases)&lt;br/&gt;
2. some symbols have no reason to exist if in a mongod (e.g, see everything that&apos;s on s/s_only.cpp)&lt;br/&gt;
3. some symbols just belong at once to two different libraries in SConstruct (e.g.&lt;/p&gt;

&lt;p&gt;Implications of this approach are several, the one that motivated this JIRA in particular is that writing dbtest for mongos code is a bit tricky today, perhaps possible, but with too many link-related pitfalls.&lt;/p&gt;

&lt;p&gt;A suggestion here is to address 1-3 above, in particular making it easier to enrich the dbtest/ directory as we go.&lt;/p&gt;</description>
                <environment></environment>
        <key id="13140">SERVER-1822</key>
            <summary>Eliminate duplicate symbols between mongod and mongos files</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="4">Incomplete</resolution>
                                        <assignee username="backlog-server-sharding">[DO NOT USE] Backlog - Sharding Team</assignee>
                                    <reporter username="alerner">Alberto Lerner</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 Sep 2010 17:09:26 +0000</created>
                <updated>Tue, 6 Dec 2022 05:48:01 +0000</updated>
                            <resolved>Thu, 25 Jan 2018 20:13:15 +0000</resolved>
                                                                    <component>Internal Code</component>
                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="18786" author="auto" created="Fri, 1 Oct 2010 17:22:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;alerner&apos;, &apos;name&apos;: &apos;Alberto Lerner&apos;, &apos;email&apos;: &apos;alerner@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1822&quot; title=&quot;Eliminate duplicate symbols between mongod and mongos files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1822&quot;&gt;&lt;del&gt;SERVER-1822&lt;/del&gt;&lt;/a&gt; dedup check/resetShardVersion and kill s/d_util.cpp&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/a6b0eee2c0632e326ec1929d28be1645ee94d455&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/a6b0eee2c0632e326ec1929d28be1645ee94d455&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="18779" author="auto" created="Fri, 1 Oct 2010 16:39:34 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;alerner&apos;, &apos;name&apos;: &apos;Alberto Lerner&apos;, &apos;email&apos;: &apos;alerner@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1822&quot; title=&quot;Eliminate duplicate symbols between mongod and mongos files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1822&quot;&gt;&lt;del&gt;SERVER-1822&lt;/del&gt;&lt;/a&gt; pull out WriteBackListener, next dedup will use it&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/9076c182ecfeea0985ba0fa3ae736092a2e81b6d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/9076c182ecfeea0985ba0fa3ae736092a2e81b6d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="18734" author="auto" created="Fri, 1 Oct 2010 13:00:57 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;alerner&apos;, &apos;name&apos;: &apos;Alberto Lerner&apos;, &apos;email&apos;: &apos;alerner@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1822&quot; title=&quot;Eliminate duplicate symbols between mongod and mongos files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1822&quot;&gt;&lt;del&gt;SERVER-1822&lt;/del&gt;&lt;/a&gt; dedup webGetAdminUser/webHaveAdminUser&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/b5e3087817a7c8e0954bde0ff019fec1a27ea7ba&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/b5e3087817a7c8e0954bde0ff019fec1a27ea7ba&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="18401" author="alerner" created="Tue, 21 Sep 2010 18:23:06 +0000"  >&lt;p&gt;The windows linker&apos;s output detects instances of the three cases. Here are the ones I bumped into (but there may be others):&lt;/p&gt;

&lt;p&gt;1.  Commands (dbcommands.cpp and s/commands_admin.cpp, when not otherwise noted)&lt;br/&gt;
+ CmdCloseAllDatabases&lt;br/&gt;
+ CmdListDatabases&lt;br/&gt;
+ cmdCursorInfo (db/clientcursor.cpp and s/cursor.cpp)&lt;/p&gt;

&lt;p&gt;2a. No-ops in mongod (in s/s_only.cpp and ...)&lt;br/&gt;
+ execCommand (...dbcommands.cpp)&lt;br/&gt;
+ currentClient (...client.cpp)&lt;br/&gt;
+ Client::shutdown (...client.cpp)&lt;br/&gt;
+ Client::Client/~Client (...client.cpp)&lt;br/&gt;
SOLVED + webGetAdminUser (...restapi.cpp)&lt;br/&gt;
SOLVED + webHaveAdminUser(...restapi.cpp)&lt;/p&gt;

&lt;p&gt;2b. Noops in mongos (in s/d_util.cpp and...)&lt;br/&gt;
SOLVED + check/resetShardVersion (...strategy.cpp)&lt;br/&gt;
+ getDBContext (pdfile.cpp and s/server.cpp)&lt;br/&gt;
+ Helpers::Find (dbhelpers.cpp and s_only.cpp)&lt;/p&gt;

&lt;p&gt;3. Double symbol inclusion&lt;br/&gt;
+ getDbContext (pdfile.cpp in lib ... and s/server.cpp)&lt;br/&gt;
+ dbexit (instance.cpp in lib ... and s/server.cpp)&lt;br/&gt;
+ inshutdown (instance.cpp in lib... and s/server.cpp)&lt;br/&gt;
+ createDirectClient (instance.cpp in lib... and s/server.cpp)&lt;/p&gt;</comment>
                            <comment id="18395" author="auto" created="Tue, 21 Sep 2010 17:29:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;alerner&apos;, &apos;name&apos;: &apos;Alberto Lerner&apos;, &apos;email&apos;: &apos;alerner@10gen.com&apos;}
&lt;p&gt;Message: allow dbtests for sharded code as well (revert SConstruct manually, defer to &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1822&quot; title=&quot;Eliminate duplicate symbols between mongod and mongos files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1822&quot;&gt;&lt;del&gt;SERVER-1822&lt;/del&gt;&lt;/a&gt;, but allow &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1713&quot; title=&quot;balancer should throttle if stuff in write back queues&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1713&quot;&gt;&lt;del&gt;SERVER-1713&lt;/del&gt;&lt;/a&gt; to proceed)&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/b356a7fc8a203eb23147658dcd60fc4c275e3091&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/b356a7fc8a203eb23147658dcd60fc4c275e3091&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="13184">SERVER-1853</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="12692">SERVER-1582</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.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>Tue, 21 Sep 2010 17:29:44 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 years, 20 weeks, 5 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-1853'>SERVER-1853</a></s>]]></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>
                            13 years, 20 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-sharding</customfieldvalue>
            <customfieldvalue>alerner</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrpeqf:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4258</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_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|hrlhhr:</customfieldvalue>

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