<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:16:19 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-70487] Fix the test delete_range_deletion_tasks_on_stepup_after_drop_collection.js for catalog shard</title>
                <link>https://jira.mongodb.org/browse/SERVER-70487</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The test is doing moveChunk and stepDown with failpoints, when moveChunk fails (not asserted) verifies that the docs for moveChunk and range deletion are still there.&lt;br/&gt;
The problem is that in CS mode the moveChunk actually succeeds and the docs are deleted.&lt;/p&gt;

&lt;p&gt;The expected scenario without CS mode:&lt;/p&gt;

&lt;p&gt;1. Mongos proxies moveChunk command to config server as _configsvrMoveRange&lt;br/&gt;
2. Config starts _configsvrMoveRange command&lt;br/&gt;
3. Balancer moveRange() is invoked&lt;br/&gt;
4. Donor shard receives the _shardsvrMoveRange command (recipient doesn&apos;t matter in this test)&lt;br/&gt;
5. replSetStepDown executed at donor&lt;br/&gt;
6. _shardsvrMoveRange fails at donor with InterruptedDueToReplStateChange&lt;br/&gt;
    failpoint asyncRecoverMigrationUntilSuccessOrStepDown reached&lt;br/&gt;
7. _configsvrMoveRange fails at config with InterruptedDueToReplStateChange&lt;br/&gt;
8. resumeMigrationCoordinationsOnStepUp failpoint reached&lt;br/&gt;
9. InterruptedDueToReplStateChange is received by mongos&lt;br/&gt;
10. moveChunk failed at mongos&lt;/p&gt;

&lt;p&gt;In catalog shard mode the moveChunk succeeds:&lt;br/&gt;
1. CS received _configsvrMoveRange&lt;br/&gt;
2. &quot;Enqueuing new Balancer command request&quot; _shardsvrMoveRange&lt;br/&gt;
3. CS (same server) started executing _shardsvrMoveRange&lt;br/&gt;
4. CS received replSetStepDown&lt;br/&gt;
  ShardsvrMoveRangeCommand failed with InterruptedDueToReplStateChange&lt;br/&gt;
  &quot;Error processing the remote request&quot; _shardsvrMoveRange &lt;br/&gt;
  &quot;HostUnreachable: Connection closed by peer&quot; in SessionWorkflow&lt;br/&gt;
5. _configsvrMoveRange does not fail&lt;br/&gt;
  Mongos received &quot;Command failed with retryable error and will be retried&quot; _configsvrMoveRange InterruptedDueToReplStateChange&lt;br/&gt;
6. &quot;MigrationCoordinator setting migration decision&quot; aborted&lt;br/&gt;
7. &quot;Election succeeded, assuming primary role&quot;&lt;br/&gt;
8. &quot;Enqueuing new Balancer command request&quot; _shardsvrMoveRange is repeated again&lt;/p&gt;

&lt;p&gt;10 min later&lt;/p&gt;

&lt;p&gt;10. Timeout&lt;br/&gt;
11. onShardVersionMismatch() callback triggers the reloading of unfinished migration state doc -&amp;gt; recoverRefreshShardVersion()&lt;br/&gt;
   this happens 10 minutes after the Balancer is scheduled &lt;br/&gt;
12. commitChunkMetadataOnConfig() deletes the migration document&lt;/p&gt;


&lt;p&gt;More details on 10 minutes wait:&lt;br/&gt;
It is essential that the migration command was not aborted.&lt;br/&gt;
1. On catalog shard step-up, the balancer initiateBalancer() is invoked&lt;br/&gt;
2. On Config part of Catalog shard, BalancerCommandsSchedulerImpl::start() after step up is waiting this time in waitForQuiescedCluster().&lt;br/&gt;
3. waitForQuiescedCluster() sends ShardsvrJoinMigrations to all shards&lt;br/&gt;
4. ShardsvrJoinMigrationsCommand is invoked on both donor and recipient shards&lt;br/&gt;
5. On donor shard, the ShardsvrJoinMigrationsCommand completes promptly&lt;/p&gt;

&lt;p&gt;Where shards are blocked:&lt;br/&gt;
1. Donor shard is blocked BalancerCommandsSchedulerImpl::start() after step up is waiting in waitForQuiescedCluster()&lt;br/&gt;
2. at the same time at the donor side getToken()-&amp;gt;refreshOplogTruncateAfterPointIfPrimary() is holding global lock for 10 min&lt;/p&gt;

&lt;p&gt;1. On recipient shard, ShardsvrJoinMigrationsCommand blocks on activeMigrationRegistry.lock()&lt;br/&gt;
2. Receiver is stuck at MigrationDestinationManager::awaitCriticalSectionReleaseSignalAndCompleteMigration(), with:&lt;br/&gt;
   _canReleaseCriticalSectionPromise-&amp;gt;getFuture().get(opCtx);&lt;/p&gt;

&lt;p&gt;When the wait is unblocked:&lt;br/&gt;
1. On donor shard&lt;br/&gt;
  aggregate command is triggered by PeriodicShardedIndexConsistencyChecker&lt;br/&gt;
  onShardVersionMismatch() -&amp;gt; recoverRefreshShardVersion() -&amp;gt; recoverMigrationCoordinations()&lt;br/&gt;
  sending _recvChunkReleaseCritSec to recepient&lt;br/&gt;
  clearReceiveChunk processed by recipient&lt;/p&gt;
</description>
                <environment></environment>
        <key id="2157132">SERVER-70487</key>
            <summary>Fix the test delete_range_deletion_tasks_on_stepup_after_drop_collection.js for catalog shard</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="andrew.shuvalov@mongodb.com">Andrew Shuvalov</assignee>
                                    <reporter username="andrew.shuvalov@mongodb.com">Andrew Shuvalov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 Oct 2022 22:18:17 +0000</created>
                <updated>Sun, 29 Oct 2023 21:32:01 +0000</updated>
                            <resolved>Mon, 24 Oct 2022 14:05:36 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2164258">SERVER-70771</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.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, 21 Oct 2022 19:43:58 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 17 weeks, 1 day 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/SERVER-70771'>SERVER-70771</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-2290</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>
                            1 year, 17 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>andrew.shuvalov@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i1dqen:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0weio:</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="6350">Sharding 2022-10-17</customfieldvalue>
    <customfieldvalue id="6351">Sharding NYC 2022-10-31</customfieldvalue>

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

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