<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:37:20 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-78051] Reevaluate use of ClusterIdentityLoader for shards</title>
                <link>https://jira.mongodb.org/browse/SERVER-78051</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/2bfdf69af4ab1b08b07e757a61668cf9fe620fb4/src/mongo/s/cluster_identity_loader.h#L50&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;The ClusterIdentityLoader&lt;/a&gt; caches the clusterId document from the &lt;tt&gt;config.version&lt;/tt&gt; collection on the config server. During startup, a shard with a shard identity document &lt;a href=&quot;https://github.com/mongodb/mongo/blob/ac1c310798371c6e42175aaaab1f29c9379b0cbf/src/mongo/db/s/sharding_initialization_mongod.cpp#L768&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;will load the clusterId from the config server&lt;/a&gt;. If no document can be found, startup will retry indefinitely (via &lt;a href=&quot;https://github.com/mongodb/mongo/blob/ac1c310798371c6e42175aaaab1f29c9379b0cbf/src/mongo/s/sharding_initialization.cpp#L262-L269&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this logic&lt;/a&gt;). To work around an issue where the config server can transiently have a shard identity but not a clusterId because of a failed initial sync which blocks startup, the config server skips loading the clusterId at startup as of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-78000&quot; title=&quot;Config server startup should handle shardIdentity with no clusterId&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-78000&quot;&gt;&lt;del&gt;SERVER-78000&lt;/del&gt;&lt;/a&gt;, instead only loading it on &lt;a href=&quot;https://github.com/mongodb/mongo/blob/ac1c310798371c6e42175aaaab1f29c9379b0cbf/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp#L957&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the first step up to primary&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Currently shards don&apos;t use the clusterId after loading it, not even to validate it matches the clusterId in the shard identity document. Only the config server uses it &lt;a href=&quot;https://github.com/10gen/mongo/blob/2b2e7980f099068f47fc7a651a6edd99c6e1abb3/src/mongo/db/s/add_shard_util.cpp#L54&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;when creating the shard identity document for a newly added shard&lt;/a&gt;. &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23769&quot; title=&quot;Add new cluster ID sanity checks for cluster with all node shard aware&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23769&quot;&gt;&lt;del&gt;SERVER-23769&lt;/del&gt;&lt;/a&gt; proposed validating the clusterId, but was closed as &quot;won&apos;t do.&quot;&lt;/p&gt;

&lt;p&gt;This ticket is to track reevaluating how we use the ClusterIdentityLoader so it&apos;s more useful on shards.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2367153">SERVER-78051</key>
            <summary>Reevaluate use of ClusterIdentityLoader for shards</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-server-cluster-scalability">Backlog - Cluster Scalability</assignee>
                                    <reporter username="jack.mulrow@mongodb.com">Jack Mulrow</reporter>
                        <labels>
                            <label>cs-subteam1</label>
                            <label>sharding-nyc-subteam1</label>
                    </labels>
                <created>Tue, 13 Jun 2023 18:56:07 +0000</created>
                <updated>Tue, 12 Dec 2023 17:02:47 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="5746972" author="max.hirschhorn@10gen.com" created="Mon, 2 Oct 2023 22:20:07 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=felipe.gasper%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;felipe.gasper@mongodb.com&quot;&gt;felipe.gasper@mongodb.com&lt;/a&gt; from a Slack discussion with the Replication team, I don&apos;t believe there are any plans to expose new fields in the hello response for either the &lt;tt&gt;replicaSetId&lt;/tt&gt; or &lt;tt&gt;clusterId&lt;/tt&gt;. The &lt;tt&gt;clusterId&lt;/tt&gt; value is documented as being part of the config.version collection and my comment here means we won&apos;t accidentally remove/change it without realizing the connection to how mongosync is using the value for telemetry.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.mongodb.com/docs/manual/reference/config-database/#mongodb-data-config.version&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.mongodb.com/docs/manual/reference/config-database/#mongodb-data-config.version&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5746802" author="JIRAUSER1272372" created="Mon, 2 Oct 2023 20:59:59 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=max.hirschhorn%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;max.hirschhorn@mongodb.com&quot;&gt;max.hirschhorn@mongodb.com&lt;/a&gt; Would a nicer way of achieving the intended result be just to add theclusterId to `hello`&#8217;s response?&lt;/p&gt;</comment>
                            <comment id="5708125" author="max.hirschhorn@10gen.com" created="Fri, 15 Sep 2023 18:17:53 +0000"  >&lt;p&gt;I wanted to call out the mongosync team has plans to rely on the &lt;tt&gt;clusterId&lt;/tt&gt; for telemetry purposes and so no matter what we choose to do about the ClusterIdentityLoader class, we should preserve the document in the config.version collection. CC &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=craven.huynh%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;craven.huynh@mongodb.com&quot;&gt;craven.huynh@mongodb.com&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26583"><![CDATA[Cluster Scalability]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 15 Sep 2023 18:17:53 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        18 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>r.scott@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            18 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-cluster-scalability</customfieldvalue>
            <customfieldvalue>felipe.gasper@mongodb.com</customfieldvalue>
            <customfieldvalue>jack.mulrow@mongodb.com</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2dopj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1vwbk:</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_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|i2dauv:</customfieldvalue>

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