<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:21:06 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-29519] Get rid of getGlobalReplicationCoordinator</title>
                <link>https://jira.mongodb.org/browse/SERVER-29519</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;ul&gt;
	&lt;li&gt;Instead all callers should be using &lt;tt&gt;repl::ReplicationCoordinator::get&lt;/tt&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="391814">SERVER-29519</key>
            <summary>Get rid of getGlobalReplicationCoordinator</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="13201">Fixed</resolution>
                                        <assignee username="henrik.edin@mongodb.com">Henrik Edin</assignee>
                                    <reporter username="esha.maharishi@mongodb.com">Esha Maharishi</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Jun 2017 17:45:28 +0000</created>
                <updated>Mon, 30 Oct 2023 23:16:15 +0000</updated>
                            <resolved>Fri, 2 Mar 2018 16:16:06 +0000</resolved>
                                    <version>3.5.9</version>
                                    <fixVersion>3.7.3</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="1821172" author="xgen-internal-githook" created="Fri, 2 Mar 2018 15:50:17 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;nicholas.zolnierz@mongodb.com&apos;, &apos;name&apos;: &apos;Nick Zolnierz&apos;, &apos;username&apos;: &apos;nzolnierzmdb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-29519&quot; title=&quot;Get rid of getGlobalReplicationCoordinator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-29519&quot;&gt;&lt;del&gt;SERVER-29519&lt;/del&gt;&lt;/a&gt; Remove getGlobalReplicationCoordinator. Replace when getting decoration through service context (global if needed).&lt;/p&gt;

&lt;p&gt;This reverts commit a8fddd07a740e959646995ef93139887b3b3eb5c.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/fb3390f096192598f1bde7d3445e2580ccf0557e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/fb3390f096192598f1bde7d3445e2580ccf0557e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1821168" author="xgen-internal-githook" created="Fri, 2 Mar 2018 15:45:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;nicholas.zolnierz@mongodb.com&apos;, &apos;name&apos;: &apos;Nick Zolnierz&apos;, &apos;username&apos;: &apos;nzolnierzmdb&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-29519&quot; title=&quot;Get rid of getGlobalReplicationCoordinator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-29519&quot;&gt;&lt;del&gt;SERVER-29519&lt;/del&gt;&lt;/a&gt; Remove getGlobalReplicationCoordinator. Replace when getting decoration through service context (global if needed).&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 7d37a75df3f6035a7afcb51123b88f0e99308fc8.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a8fddd07a740e959646995ef93139887b3b3eb5c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a8fddd07a740e959646995ef93139887b3b3eb5c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1821109" author="xgen-internal-githook" created="Fri, 2 Mar 2018 15:08:13 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;henrik.edin@mongodb.com&apos;, &apos;name&apos;: &apos;Henrik Edin&apos;, &apos;username&apos;: &apos;henrikedin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-29519&quot; title=&quot;Get rid of getGlobalReplicationCoordinator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-29519&quot;&gt;&lt;del&gt;SERVER-29519&lt;/del&gt;&lt;/a&gt; Remove getGlobalReplicationCoordinator. Replace when getting decoration through service context (global if needed).&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/7d37a75df3f6035a7afcb51123b88f0e99308fc8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/7d37a75df3f6035a7afcb51123b88f0e99308fc8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1821107" author="xgen-internal-githook" created="Fri, 2 Mar 2018 15:08:03 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;henrik.edin@mongodb.com&apos;, &apos;name&apos;: &apos;Henrik Edin&apos;, &apos;username&apos;: &apos;henrikedin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-29519&quot; title=&quot;Get rid of getGlobalReplicationCoordinator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-29519&quot;&gt;&lt;del&gt;SERVER-29519&lt;/del&gt;&lt;/a&gt; Remove getGlobalReplicationCoordinator.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/mongo-enterprise-modules/commit/3896d0e793f01a173d1a67da8044ce3ebfc675d1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo-enterprise-modules/commit/3896d0e793f01a173d1a67da8044ce3ebfc675d1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1793156" author="henrik.edin" created="Fri, 2 Feb 2018 15:00:20 +0000"  >&lt;p&gt;Still work to do, returning to backlog.&lt;/p&gt;</comment>
                            <comment id="1781114" author="xgen-internal-githook" created="Mon, 22 Jan 2018 18:52:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Henrik Edin&apos;, &apos;email&apos;: &apos;henrik.edin@mongodb.com&apos;, &apos;username&apos;: &apos;henrikedin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-29519&quot; title=&quot;Get rid of getGlobalReplicationCoordinator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-29519&quot;&gt;&lt;del&gt;SERVER-29519&lt;/del&gt;&lt;/a&gt; Removed many usages of getGlobalReplicationCoordinator&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c376f4b80d26028b6a8746f8545a35e390b59bf2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c376f4b80d26028b6a8746f8545a35e390b59bf2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1754747" author="kaloian.manassiev" created="Mon, 18 Dec 2017 18:22:38 +0000"  >&lt;p&gt;It shouldn&apos;t be a problem - the number of shards is fairly small.&lt;/p&gt;</comment>
                            <comment id="1754594" author="henrik.edin" created="Mon, 18 Dec 2017 16:39:51 +0000"  >&lt;p&gt;The commands doesn&apos;t use MONGO_INITIALIZER right now, but if we change that then passing the ServiceContext like you suggest would work. We also might not want to initialize commands once per ServiceContext, I don&apos;t know if they have any instance specific data they need to store. Even if we run several instances they could share command registry?&lt;/p&gt;

&lt;p&gt;For the local shards, yeah it just felt silly to have the same pointer to a ServiceContext all over the place. But perhaps that&apos;s not a problem.&lt;/p&gt;</comment>
                            <comment id="1754562" author="kaloian.manassiev" created="Mon, 18 Dec 2017 16:26:07 +0000"  >&lt;blockquote&gt;&lt;p&gt;Command registration is global and their virtual functions need to pass a ServiceContext&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I was thinking about that at the time when I filed this ticket. How about we just start passing the ServiceContext as part of the initializers? That way we can deliver it to the commands by making them be created in initializer blocks?&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;We might have lots of shards so a back pointer might not be the most efficient way of doing it, but passing a ServiceContext to the (all) interface(s) is not very elegant either.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;What do you mean by that - are you concerned about the memory usage?&lt;/p&gt;</comment>
                            <comment id="1754536" author="henrik.edin" created="Mon, 18 Dec 2017 16:13:53 +0000"  >&lt;p&gt;Most of the places are easy to swap out for repl::ReplicationCoordinator::get but there are some exceptions:&lt;/p&gt;

&lt;p&gt;Command registration is global and their virtual functions need to pass a ServiceContext (or ReplicationCoordinator). Now they just grab whatever globals they might need.&lt;/p&gt;

&lt;p&gt;ExportedServerParameter is also registered globally, they probably need to be registered in a ServiceContext so different instances can have their separate parameters.&lt;/p&gt;

&lt;p&gt;LocalShard is also getting the global replication coordinator to access some config. Need to figure how this mechanism should look like. We might have lots of shards so a back pointer might not be the most efficient way of doing it, but passing a ServiceContext to the (all) interface(s) is not very elegant either. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="497125">SERVER-33286</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="501537">SERVER-33460</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="430946">SERVER-31219</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>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 18 Dec 2017 16:13:53 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 49 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-33286'>SERVER-33286</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-33460'>SERVER-33460</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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-331</customfieldvalue>
                        </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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 49 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>esha.maharishi@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>henrik.edin@mongodb.com</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|ht8txj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr9xtj:</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="1705">Sharding 2017-06-19</customfieldvalue>
    <customfieldvalue id="1726">Sharding 2017-07-10</customfieldvalue>
    <customfieldvalue id="2092">Platforms 2018-01-15</customfieldvalue>
    <customfieldvalue id="2093">Platforms 2018-01-29</customfieldvalue>
    <customfieldvalue id="2129">Platforms 2018-02-12</customfieldvalue>
    <customfieldvalue id="2130">Platforms 2018-02-26</customfieldvalue>
    <customfieldvalue id="2131">Platforms 2018-03-12</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|ht8fzz:</customfieldvalue>

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