<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:41:59 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-57491] Do not recreate recipient mtab if recipientForgetMigration is received after the state doc is deleted</title>
                <link>https://jira.mongodb.org/browse/SERVER-57491</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;If a migration commits but isn&apos;t yet forgotten/garbage collected, a subsequent read on the recipient can fail with &lt;tt&gt;SnapshotTooOld&lt;/tt&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1770556">SERVER-57491</key>
            <summary>Do not recreate recipient mtab if recipientForgetMigration is received after the state doc is deleted</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="lingzhi.deng@mongodb.com">Lingzhi Deng</assignee>
                                    <reporter username="pavithra.vetriselvan@mongodb.com">Pavithra Vetriselvan</reporter>
                        <labels>
                            <label>pm-1791_non-cloud-blocking</label>
                            <label>post-rc0</label>
                    </labels>
                <created>Mon, 7 Jun 2021 14:03:17 +0000</created>
                <updated>Sun, 29 Oct 2023 21:52:32 +0000</updated>
                            <resolved>Sat, 12 Jun 2021 23:32:50 +0000</resolved>
                                                    <fixVersion>5.0.0-rc2</fixVersion>
                    <fixVersion>5.1.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="4107011" author="JIRAUSER1259052" created="Wed, 6 Oct 2021 18:15:02 +0000"  >&lt;p&gt;Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it&#8217;s been triggered. For more active release information, please keep an eye on #server-release. Thank you!&lt;/p&gt;</comment>
                            <comment id="3874839" author="xgen-internal-githook" created="Sun, 13 Jun 2021 03:08:16 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Lingzhi Deng&apos;, &apos;email&apos;: &apos;lingzhi.deng@mongodb.com&apos;, &apos;username&apos;: &apos;ldennis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-57491&quot; title=&quot;Do not recreate recipient mtab if recipientForgetMigration is received after the state doc is deleted&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-57491&quot;&gt;&lt;del&gt;SERVER-57491&lt;/del&gt;&lt;/a&gt;: Do not recreate recipient mtab if recipientForgetMigration is received after the state doc is deleted&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2c316c7197b5dd8885c91f4ff27d9327e986db7c)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1a260dc0ebb4fc989d4613f0eb4e746f80906c35&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1a260dc0ebb4fc989d4613f0eb4e746f80906c35&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3874419" author="xgen-internal-githook" created="Fri, 11 Jun 2021 22:58:11 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Lingzhi Deng&apos;, &apos;email&apos;: &apos;lingzhi.deng@mongodb.com&apos;, &apos;username&apos;: &apos;ldennis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-57491&quot; title=&quot;Do not recreate recipient mtab if recipientForgetMigration is received after the state doc is deleted&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-57491&quot;&gt;&lt;del&gt;SERVER-57491&lt;/del&gt;&lt;/a&gt;: Do not recreate recipient mtab if recipientForgetMigration is received after the state doc is deleted&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2c316c7197b5dd8885c91f4ff27d9327e986db7c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2c316c7197b5dd8885c91f4ff27d9327e986db7c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3866756" author="lingzhi.deng" created="Tue, 8 Jun 2021 17:05:32 +0000"  >&lt;p&gt;I think the issue is that if a &lt;tt&gt;recipientForgetMigration&lt;/tt&gt; command is received after the recipient state doc is deleted, it would &lt;a href=&quot;https://github.com/mongodb/mongo/blob/5c531861b6c2f3982807338403d6d05577adc358/src/mongo/db/commands/tenant_migration_recipient_cmds.cpp#L216-L220&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;re-initialize the state doc&lt;/a&gt; and immediately mark it garbage collectable again. This design was to account for delayed &lt;tt&gt;recipientSyncData&lt;/tt&gt; commands so that the recipient doesn&apos;t mistakenly restart the same migration that&apos;s been forgotten. But in the passthroughs, we use a &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fffcdd7eba68147c7f0cdfd5fccbccb72e440bea/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml#L303&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;very small &lt;tt&gt;tenantMigrationGarbageCollectionDelayMS&lt;/tt&gt;&lt;/a&gt; value and so the recipient state doc is usually deleted &quot;immediately&quot; after it is marked garbage collectable. And if the donor retries to forget the migration due to a failover, the recipient could re-initialize the state doc in &lt;a href=&quot;https://github.com/mongodb/mongo/blob/5c531861b6c2f3982807338403d6d05577adc358/src/mongo/db/repl/tenant_migration_recipient_service.cpp#L802&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;kStarted&lt;/tt&gt;&lt;/a&gt; state which would &lt;a href=&quot;https://github.com/mongodb/mongo/blob/5c531861b6c2f3982807338403d6d05577adc358/src/mongo/db/repl/tenant_migration_recipient_op_observer.cpp#L117-L118&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;create an access blocker&lt;/a&gt; momentarily if the state doc is &lt;a href=&quot;https://github.com/mongodb/mongo/blob/5c531861b6c2f3982807338403d6d05577adc358/src/mongo/db/repl/tenant_migration_recipient_service.cpp#L2034&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;updated again&lt;/a&gt; while it&apos;s in kStarted state &lt;a href=&quot;https://github.com/mongodb/mongo/blob/5c531861b6c2f3982807338403d6d05577adc358/src/mongo/db/commands/tenant_migration_recipient_cmds.cpp#L219-L220&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;until it is forgotten again&lt;/a&gt;. So I think a potential fix would be to initialize the state doc directly in kDone state if a &lt;tt&gt;recipientForgetMigration&lt;/tt&gt; command is received after the recipient state doc is deleted.&lt;/p&gt;</comment>
                            <comment id="3862304" author="pavithra.vetriselvan" created="Mon, 7 Jun 2021 14:07:14 +0000"  >&lt;p&gt;&lt;a href=&quot;https://evergreen.mongodb.com/version/60afa8913e8e860bb937e1ed&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Task&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://logkeeper.mongodb.org/lobster/build/a70a3641405a163c2f2ebdc1f7eebaf4/test/60afb06cf84ae8653448e307#bookmarks=0%2C189%2C507%2C523%2C525%2C529%2C1101%2C1102%2C1109%2C1112%2C1142%2C1146%2C1224%2C1242%2C1262%2C1265%2C1286%2C1292%2C1310%2C1320%2C1378%2C1379%2C1502%2C1503%2C1609%2C3381%2C3571%2C3644%2C3704%2C3705%2C3749%2C3750%2C3837%2C3931%2C3941%2C3952%2C3996%2C3998%2C4000%2C4012%2C4175%2C4176%2C4197&amp;amp;f~=000~ContinuousTenantMigration&amp;amp;f~=000~ContinuousStepdown&amp;amp;f~=000~sdffrr&amp;amp;f~=000~blockTimestamp&amp;amp;f~=000~starting%20to%20reject&amp;amp;f~=000~timeseries_union_with&amp;amp;f~=000~Forgetting%20migration&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Logs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Based on the logs, it looks like the forgetMigration command was never able to succeed since we keep killing the donor and recipient primaries. Should our test infrastructure wait to re-route commands until the migration is forgotten instead of just after a DBHash check?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="1537235">SERVER-52713</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1759531">SERVER-57261</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>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="21777"><![CDATA[v5.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>Tue, 8 Jun 2021 17:05:32 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 18 weeks 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_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-1791</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, 18 weeks 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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>lingzhi.deng@mongodb.com</customfieldvalue>
            <customfieldvalue>pavithra.vetriselvan@mongodb.com</customfieldvalue>
            <customfieldvalue>vivian.ge@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzk1dr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hz4md3:</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="5035">Repl 2021-06-14</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|hzjnmv:</customfieldvalue>

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