<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:48:33 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-59935] Add NamespaceString::isPerShardNamespace method</title>
                <link>https://jira.mongodb.org/browse/SERVER-59935</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;In recent tickets &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59676&quot; title=&quot;DocumentSourceFindAndModifyImageLookup can hit invariant when used in a shard&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59676&quot;&gt;&lt;del&gt;SERVER-59676&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-58689&quot; title=&quot;Implement loading of pre-images in a change stream&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-58689&quot;&gt;&lt;del&gt;SERVER-58689&lt;/del&gt;&lt;/a&gt;, we ran into an issue where a sub-operation pipeline issued via &lt;tt&gt;MongoProcessInterface&lt;/tt&gt; behaved incorrectly in cases where the requested collection was shard-local, i.e. a collection which can exist on each shard independently. We worked around this issue using the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/77c17082ef7744f0f83e03e403af54a17e116d78/src/mongo/db/namespace_string.cpp#L288&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;NamespaceString::isNamespaceAlwaysUnsharded&lt;/tt&gt;&lt;/a&gt; method, which is almost a synonym for the proposed &lt;tt&gt;isPerShardNamespace&lt;/tt&gt; method. However, &lt;tt&gt;isNamespaceAlwaysUnsharded&lt;/tt&gt; &lt;a href=&quot;https://github.com/mongodb/mongo/blob/77c17082ef7744f0f83e03e403af54a17e116d78/src/mongo/db/namespace_string.cpp#L300-L301&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;includes the &lt;tt&gt;system.views&lt;/tt&gt; namespace&lt;/a&gt;, which is not shard-local but always exists, unsharded, on the primary shard for the given database. There may be other or future cases where the two concepts do not perfectly overlap.&lt;/p&gt;

&lt;p&gt;Given this, we should add a specific &lt;tt&gt;NamespaceString::isPerShardNamespace&lt;/tt&gt; method. This would be identical to the existing &lt;tt&gt;isNamespaceAlwaysUnsharded&lt;/tt&gt; with the exception of the &lt;tt&gt;isSystemDotViews&lt;/tt&gt; check. The &lt;tt&gt;isNamespaceAlwaysUnsharded&lt;/tt&gt; method could then be re-expressed in terms of &lt;tt&gt;isPerShardNamespace&lt;/tt&gt;, i.e. &lt;tt&gt;(isSystemDotViews() || isNamespaceAlwaysUnsharded())&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;We should also consider &lt;a href=&quot;https://github.com/mongodb/mongo/blob/77c17082ef7744f0f83e03e403af54a17e116d78/src/mongo/db/pipeline/sharded_agg_helpers.cpp#L1283-L1285&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;using this new helper in &lt;tt&gt;attachCursorToPipeline&lt;/tt&gt;&lt;/a&gt;, to have the pipeline automatically decline to send a remote request if the given namespace is per-shard.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1873732">SERVER-59935</key>
            <summary>Add NamespaceString::isPerShardNamespace method</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="12300">Won&apos;t Do</resolution>
                                        <assignee username="backlog-query-execution">Backlog - Query Execution</assignee>
                                    <reporter username="bernard.gorman@mongodb.com">Bernard Gorman</reporter>
                        <labels>
                    </labels>
                <created>Tue, 14 Sep 2021 14:54:58 +0000</created>
                <updated>Tue, 6 Dec 2022 00:56:48 +0000</updated>
                            <resolved>Tue, 14 Sep 2021 16:04:18 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1863554">SERVER-59676</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1869966">SERVER-59839</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>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25125"><![CDATA[Query Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 21 weeks, 1 day 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1944</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>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 21 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-query-execution</customfieldvalue>
            <customfieldvalue>bernard.gorman@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i01jkn:</customfieldvalue>

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

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