<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:32:14 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-53935] Noop write for afterClusterTime/atClusterTime on config servers could override opCtx&apos;s readConcernArgs</title>
                <link>https://jira.mongodb.org/browse/SERVER-53935</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;As part of &lt;tt&gt;waitForReadConcernImpl&lt;/tt&gt;, we could &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b110afdd003360552959b58c3e6a8798bc569173/src/mongo/db/read_concern_mongod.cpp#L364&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;perform noop writes&lt;/a&gt; to bump up the clusterTime for afterClusterTime/atClusterTime. And that eventually &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b110afdd003360552959b58c3e6a8798bc569173/src/mongo/db/read_concern_mongod.cpp#L177&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;calls &lt;tt&gt;Shard::runCommand&lt;/tt&gt;&lt;/a&gt; to run the &lt;tt&gt;appendOplogNote&lt;/tt&gt; command. On config servers (I believe we use &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b110afdd003360552959b58c3e6a8798bc569173/src/mongo/db/mongod_main.cpp#L651-L653&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;ShardLocal&lt;/tt&gt;&lt;/a&gt;}, this then calls &lt;tt&gt;ShardLocal::_runCommand&lt;/tt&gt; which will then run the &lt;tt&gt;appendOplogNote&lt;/tt&gt; using &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b110afdd003360552959b58c3e6a8798bc569173/src/mongo/db/rs_local_client.cpp#L78&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;DBDirectClient&lt;/tt&gt;&lt;/a&gt;. And this could override the &lt;tt&gt;readConcernArgs&lt;/tt&gt; on the &lt;tt&gt;opCtx&lt;/tt&gt;. Overriding the &lt;tt&gt;readConcernArgs&lt;/tt&gt; on the &lt;tt&gt;opCtx&lt;/tt&gt; is dangerous because the subsequent &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b110afdd003360552959b58c3e6a8798bc569173/src/mongo/db/read_concern_mongod.cpp#L375&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;waitUntilOpTimeForRead&lt;/tt&gt;&lt;/a&gt; call relies on the &lt;tt&gt;readConcernArgs&lt;/tt&gt; to wait properly before proceeding with the command. Moreover, this could also affect other assumptions we have with the readConcern for the initial command.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1595933">SERVER-53935</key>
            <summary>Noop write for afterClusterTime/atClusterTime on config servers could override opCtx&apos;s readConcernArgs</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="12300">Won&apos;t Do</resolution>
                                        <assignee username="jordi.serra-torrens@mongodb.com">Jordi Serra Torrens</assignee>
                                    <reporter username="lingzhi.deng@mongodb.com">Lingzhi Deng</reporter>
                        <labels>
                            <label>Sharding-EMEA</label>
                            <label>sharding-wfbf-day</label>
                    </labels>
                <created>Wed, 20 Jan 2021 23:42:20 +0000</created>
                <updated>Fri, 29 Jan 2021 17:24:36 +0000</updated>
                            <resolved>Fri, 29 Jan 2021 17:24:36 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="3589986" author="JIRAUSER1257318" created="Fri, 29 Jan 2021 17:24:01 +0000"  >&lt;p&gt;We concluded that while the problem described in this bug is true, the fact is that the DBDirectClient (because that&apos;s what ShardLocal::_runCommandUses), shouldn&apos;t have been used in the first place.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/49985eb4a42f43e5da75f6c8da9a0cb76c482c9e/src/mongo/db/read_concern_mongod.cpp#L152-L154&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;shardRegistry::getConfigShard&lt;/a&gt;&#160;is returning a ShardLocal object on configsvr secondaries, so that&apos;s not suited for the appendOpLogNote write. For shardsvrs, shardRegistry::getShard. I&apos;ve filed&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-54102&quot; title=&quot;Noop write for afterClusterTime/atClusterTime needs to target primary&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-54102&quot;&gt;&lt;del&gt;SERVER-54102&lt;/del&gt;&lt;/a&gt; to ensure that configsvrs perform the appendOplogNote against the primary.&lt;/p&gt;

&lt;p&gt;As for &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=louis.williams&quot; class=&quot;user-hover&quot; rel=&quot;louis.williams&quot;&gt;louis.williams&lt;/a&gt;&#160;proposal to make DBDirectClient use an AlternativeClientRegion, I&apos;ve filed&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-54140&quot; title=&quot;DBDirectClient shouldn&amp;#39;t unexpectedly modify opCtx&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-54140&quot;&gt;SERVER-54140&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="3575557" author="louis.williams" created="Thu, 21 Jan 2021 14:29:21 +0000"  >&lt;p&gt;Can we consider modifying DBDirectClient to use an &lt;a href=&quot;https://github.com/mongodb/mongo/blob/9b962886132727fa5ab9863f96cbe825cb7a3ad0/src/mongo/db/client.h#L340&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;AlternativeClientRegion&lt;/a&gt;? It seems like this would solve the problem more generally so that DBDirectClient can &quot;stack&quot;, and OperationContext-decorated state is not implicitly passed down into a DBDirectClient. Instead, callers will need to explicitly transfer any state they wish for a client to inherit (e.g. readConcern, maxTimeMs)&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="665907">SERVER-38855</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 21 Jan 2021 14:29:21 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 1 week, 5 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>jordi.serra-torrens@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 1 week, 5 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>jordi.serra-torrens@mongodb.com</customfieldvalue>
            <customfieldvalue>lingzhi.deng@mongodb.com</customfieldvalue>
            <customfieldvalue>louis.williams@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hyqikf:</customfieldvalue>

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

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