<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:35:50 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-55214] Resharding txn cloner can miss config.transactions entry when fetching</title>
                <link>https://jira.mongodb.org/browse/SERVER-55214</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;This is because we use readConcern snapshot + atClusterTime and readPref nearest.&lt;/p&gt;

&lt;p&gt;The issue is that, in secondaries, we squash multiple updates to config.transactions into one and use the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d362ea53d66d85750b0cb63b69168e1b3a4a330e/src/mongo/db/repl/session_update_tracker.cpp#L56&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;newest timestamp&lt;/a&gt; when calling &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d362ea53d66d85750b0cb63b69168e1b3a4a330e/src/mongo/db/repl/oplog.cpp#L1382-L1390&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;setTimestamp&lt;/a&gt;. So if we have 3 writes from retryable that corresponds to ts1, ts2 &amp;amp; ts3, the secondary will only have ts3 set properly and you will not be able to see the config.transactions document when reading with atClusterTime ts1 or ts2.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1649421">SERVER-55214</key>
            <summary>Resharding txn cloner can miss config.transactions entry when fetching</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="13201">Fixed</resolution>
                                        <assignee username="randolph@mongodb.com">Randolph Tan</assignee>
                                    <reporter username="randolph@mongodb.com">Randolph Tan</reporter>
                        <labels>
                            <label>PM-234-M2.5</label>
                            <label>PM-234-T-config-txn-clone</label>
                    </labels>
                <created>Mon, 15 Mar 2021 20:27:51 +0000</created>
                <updated>Sun, 29 Oct 2023 21:56:16 +0000</updated>
                            <resolved>Fri, 9 Apr 2021 15:21:08 +0000</resolved>
                                                    <fixVersion>5.0.0-rc0</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="3708745" author="xgen-internal-githook" created="Thu, 8 Apr 2021 19:17:43 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Randolph Tan&apos;, &apos;email&apos;: &apos;randolph@10gen.com&apos;, &apos;username&apos;: &apos;renctan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55214&quot; title=&quot;Resharding txn cloner can miss config.transactions entry when fetching&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55214&quot;&gt;&lt;del&gt;SERVER-55214&lt;/del&gt;&lt;/a&gt; Make resharding recipient shards use fetchTimestamp from each donor shard when fetching config.transactions and the oplog&lt;/p&gt;

&lt;p&gt;Also force the no-op oplog write that is being used as the minFetchTimestamp marker for resharding into its own batch when replicating.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/aa401671d769f20e98f40b864338c7bd1c14d292&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/aa401671d769f20e98f40b864338c7bd1c14d292&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3687386" author="max.hirschhorn@10gen.com" created="Fri, 26 Mar 2021 23:32:34 +0000"  >&lt;p&gt;The work plan for this ticket is do the following:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Change &lt;a href=&quot;https://github.com/mongodb/mongo/blob/79951c2fe99ab96ca340ff5f51ba63f129643507/src/mongo/db/s/resharding/resharding_donor_service.cpp#L65&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the no-op oplog entry written by donor shards as part of calculating their minFetchTimestamp value&lt;/a&gt; to be &lt;a href=&quot;https://github.com/mongodb/mongo/blob/79951c2fe99ab96ca340ff5f51ba63f129643507/src/mongo/db/repl/oplog_batcher.cpp#L129&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;applied by secondaries in its own batch&lt;/a&gt;. This ensures that any retryable write statements committed before the minFetchTimestamp are visible in config.transactions collection when using {atClusterTime: &amp;lt;minFetchTimestamp&amp;gt;} (and any retryable write statements committed afterwards are not visible).&lt;/li&gt;
	&lt;li&gt;Change recipient shards to clone the config.transactions collection using {atClusterTime: &amp;lt;minFetchTimestamp&amp;gt;} with the individual minFetchTimestamp value corresponding to the donor shard rather than the single fetchTimestamp value. Note that recipients shards must continue clone the collection being resharded using {atClusterTime: &amp;lt;fetchTimestamp&amp;gt;} to assert the non-existence of documents with duplicate &amp;#95;ids.&lt;/li&gt;
	&lt;li&gt;Change recipient shards to start fetching oplog entries using {$gte: {ts: &amp;lt;minFetchTimestamp&amp;gt;}} with the individual minFetchTimestamp value corresponding to the donor shard rather than the single fetchTimestamp value. This is necessary for the config.transactions collection to become correct via idempotency of oplog application due to how (2) is having it cloned at an earlier timestamp than the fetchTimestamp value.&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="3665395" author="renctan" created="Mon, 15 Mar 2021 20:31:22 +0000"  >&lt;p&gt;Attaching js test that demonstrates the secondary read behavior for config.transactions&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1652773">SERVER-55305</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1660948">SERVER-55578</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1673004">SERVER-55873</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1628188">SERVER-54626</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1629090">SERVER-54681</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1700958">SERVER-56631</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1544652">SERVER-52921</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="304893" name="test.js" size="1608" author="randolph@mongodb.com" created="Mon, 15 Mar 2021 20:30:34 +0000"/>
                    </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_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.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>Fri, 26 Mar 2021 23:32:34 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 43 weeks, 6 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/TIG-2963'>TIG-2963</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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-234</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>
                            2 years, 43 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>42.0</customfieldvalue>

                        </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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
            <customfieldvalue>randolph@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hyzk8v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hyksf3:</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="4487">Sharding 2021-03-22</customfieldvalue>
    <customfieldvalue id="4497">Sharding 2021-04-05</customfieldvalue>
    <customfieldvalue id="4515">Sharding 2021-04-19</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</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|hyz6hz:</customfieldvalue>

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