<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:39:15 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-56435] ContinuousTenantMigration doesn&apos;t handle donor aborting migration due to ShutdownInProgress or InterruptedAtShutdown</title>
                <link>https://jira.mongodb.org/browse/SERVER-56435</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;While enabling the tenant migration terminate primary suites, I ran into the following scenario:&lt;br/&gt;
1. ContinuousTenantMigration starts tenant migration X on donor primary&lt;br/&gt;
2. ContinuousStepdown terminates donor primary&lt;br/&gt;
3. Donor primary shuts down and interrupts migration X with ShutdownInProgress&lt;br/&gt;
4. New primary steps up and rebuilds TenantMigrationDonorService&lt;br/&gt;
5. New primary says tenant migration has completed because it was aborted due to ShutdownInProgress&lt;br/&gt;
6. ContinuousTenantMigration &lt;a href=&quot;https://github.com/mongodb/mongo/blob/3d63ca6b013383cf12e22d414697f62bae2a2b6d/buildscripts/resmokelib/testing/hooks/tenant_migration.py#L410-L425&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;raises an error&lt;/a&gt; since this isn&apos;t an accepted abort reason.&lt;/p&gt;

&lt;p&gt;If this is expected behavior on the donor, then the ContinuousTenantMigration hook should catch ShutdownInProgress and InterruptedAtShutdown donor abort errors. &lt;/p&gt;</description>
                <environment></environment>
        <key id="1694527">SERVER-56435</key>
            <summary>ContinuousTenantMigration doesn&apos;t handle donor aborting migration due to ShutdownInProgress or InterruptedAtShutdown</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="jack.mulrow@mongodb.com">Jack Mulrow</assignee>
                                    <reporter username="pavithra.vetriselvan@mongodb.com">Pavithra Vetriselvan</reporter>
                        <labels>
                            <label>pm-1791_non-cloud-blocking</label>
                            <label>pm-1791_other_required</label>
                    </labels>
                <created>Wed, 28 Apr 2021 15:05:17 +0000</created>
                <updated>Sun, 29 Oct 2023 21:54:23 +0000</updated>
                            <resolved>Tue, 4 May 2021 21:37:48 +0000</resolved>
                                                    <fixVersion>4.9.0-rc1</fixVersion>
                    <fixVersion>5.0.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="3755626" author="xgen-internal-githook" created="Wed, 5 May 2021 01:56:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jack Mulrow&apos;, &apos;email&apos;: &apos;jack.mulrow@mongodb.com&apos;, &apos;username&apos;: &apos;jsmulrow&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56435&quot; title=&quot;ContinuousTenantMigration doesn&amp;#39;t handle donor aborting migration due to ShutdownInProgress or InterruptedAtShutdown&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56435&quot;&gt;&lt;del&gt;SERVER-56435&lt;/del&gt;&lt;/a&gt; Tenant migration donor shouldn&apos;t abort on shutdown or not primary errors&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 6b780f53b473a8f23042095642b1888bf3a2b237)&lt;br/&gt;
Branch: v4.9&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1261c92d8a9fa97f5154d40866e41b34723af9cf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1261c92d8a9fa97f5154d40866e41b34723af9cf&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3755055" author="xgen-internal-githook" created="Tue, 4 May 2021 19:30:37 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jack Mulrow&apos;, &apos;email&apos;: &apos;jack.mulrow@mongodb.com&apos;, &apos;username&apos;: &apos;jsmulrow&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56435&quot; title=&quot;ContinuousTenantMigration doesn&amp;#39;t handle donor aborting migration due to ShutdownInProgress or InterruptedAtShutdown&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56435&quot;&gt;&lt;del&gt;SERVER-56435&lt;/del&gt;&lt;/a&gt; Tenant migration donor shouldn&apos;t abort on shutdown or not primary errors&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/6b780f53b473a8f23042095642b1888bf3a2b237&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/6b780f53b473a8f23042095642b1888bf3a2b237&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3752209" author="jack.mulrow" created="Mon, 3 May 2021 16:31:51 +0000"  >&lt;blockquote&gt;&lt;p&gt;What you&apos;re suggesting&#160;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jack.mulrow&quot; class=&quot;user-hover&quot; rel=&quot;jack.mulrow&quot;&gt;jack.mulrow&lt;/a&gt;&#160;is to always make sure to step-down PrimaryOnlyService before shutdown, because that would ensure the tokens are canceled prior to the WMFS being shut down - is that correct?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Yeah exactly. That&apos;s a fair point about not being able to guarantee the cancellation token will always be cancelled first though, so I&apos;ll fix this by having donor service instances check the error code instead, and I&apos;ll leave the shutdown interruption behavior as is since it gives us coverage in the terminate suites.&lt;/p&gt;</comment>
                            <comment id="3745417" author="matthew.saltz" created="Wed, 28 Apr 2021 21:44:20 +0000"  >&lt;p&gt;If I understand correctly, the problem is:&lt;br/&gt;
1. The WFMS is shut down, which returns a ShutdownInProgress error somewhere in the donor&lt;br/&gt;
2. The donor checks cancellation tokens to find out if it&apos;s been stepped/shutdown, but since those tokens haven&apos;t been canceled, the donor assumes the WFMS is throwing an abort-worthy error&lt;br/&gt;
3. The donor aborts with ShutdownInProgress error, when really it shouldn&apos;t have aborted&lt;/p&gt;

&lt;p&gt;What you&apos;re suggesting &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jack.mulrow&quot; class=&quot;user-hover&quot; rel=&quot;jack.mulrow&quot;&gt;jack.mulrow&lt;/a&gt; is to always make sure to step-down PrimaryOnlyService before shutdown, because that would ensure the tokens are canceled prior to the WMFS being shut down - is that correct?&lt;/p&gt;

&lt;p&gt;I wouldn&apos;t be opposed to doing what you&apos;re suggesting, though I worry that other subsystems used by the donor could conceivably still be shutdown prior to the PrimaryOnlyService being interrupted, as long as there&apos;s no explicit dependency. In other words, there&apos;s no reason WFMS or some other service might not change some day to be shut down on step-down and restarted on step-up (I don&apos;t think we&apos;d do that, it&apos;s just an example), which would bring you back to having the same problem again, right? Basically, using the tokens as a way to reliably check for step down isn&apos;t really possible unless we guarantee that we always step down/interrupt the PrimaryOnlyService before stepping down literally any other component. Is that right or am I making a problem that doesn&apos;t exist? &lt;/p&gt;

&lt;p&gt;In other words - I don&apos;t think it&apos;s a bad idea to always interrupt on step-down the way we do with the TransactionCoordinator, but I&apos;m also not sure it&apos;s sufficient to handle all edge cases, and I think the donor and other services might still unfortunately have to deal with errors coming out of other subsystems like the WFMS manually.&lt;/p&gt;</comment>
                            <comment id="3744944" author="jack.mulrow" created="Wed, 28 Apr 2021 18:43:37 +0000"  >&lt;p&gt;The donor should be robust to failovers, so this is a bug. It looks like the specific abortReason was&#160;&quot;abortReason&quot;:{&quot;code&quot;:91,&quot;codeName&quot;:&quot;ShutdownInProgress&quot;,&quot;errmsg&quot;:&quot;rejecting wait for majority request due to server shutdown&quot;} and based on the error message, the error came from &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d37ee5b24d/src/mongo/db/repl/wait_for_majority_service.cpp#L139-L140&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;&#160;in the WaitForMajorityService, which the donor uses several times to asynchronously wait for majority write concern. What I think happened is the WaitForMajorityService was shutdown before the PrimaryOnlyService was (&lt;a href=&quot;https://github.com/mongodb/mongo/blob/d37ee5b24d620a4a8c451dc8222416ff0aeda817/src/mongo/db/mongod_main.cpp#L1146&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;&#160;vs &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d37ee5b24d620a4a8c451dc8222416ff0aeda817/src/mongo/db/mongod_main.cpp#L1197&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;), and in that interval the donor received the shutdown error and was able to persist an abort decision before being shut down itself.&lt;/p&gt;

&lt;p&gt;This normally won&apos;t happen because as part of shutdown, a node is best effort stepped down, which should also interrupted the donor and prevent the abort, but from the logs, that stepdown failed:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;// Donor receives the terminate signal, which triggers best-effort stepdown&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[j0:rs0:n0] | 2021-04-26T16:28:08.455+00:00 I CONTROL 23377 [SignalHandler] &quot;Received signal&quot;,&quot;attr&quot;:\{&quot;signal&quot;:15,&quot;error&quot;:&quot;Terminated&quot;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[j0:rs0:n0] | 2021-04-26T16:28:08.455+00:00 I REPL 4784900 [SignalHandler] &quot;Stepping down the ReplicationCoordinator for shutdown&quot;,&quot;attr&quot;:\{&quot;waitTimeMillis&quot;:100}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;...&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;// The stepdown takes too long so it&apos;s aborted but normal shutdown continues on&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[j0:rs0:n0] | 2021-04-26T16:28:08.556+00:00 W COMMAND 4719000 [SignalHandler] &quot;Error stepping down during force shutdown&quot;,&quot;attr&quot;:\{&quot;error&quot;:{&quot;code&quot;:262,&quot;codeName&quot;:&quot;ExceededTimeLimit&quot;,&quot;errmsg&quot;:&quot;No electable secondaries caught up as of 2021-04-26T16:28:08.556+00:00. Please use the replSetStepDown command with the argument {force: true} to force node to step down.&quot;}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;...&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;// In normal shutdown, the WaitForMajorityService is shut down first which triggers the abort decision before the PrimaryOnlyServices are shut down.&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[j0:rs0:n0] | 2021-04-26T16:28:08.559+00:00 I TENANT_M 5107301 [TenantMigrationDonorService-2] &quot;Tenant migration starting to wait for abort OpTime to be majority-committed&quot;,&quot;attr&quot;:\{&quot;tenantId&quot;:&quot;tenantMigrationTenantId&quot;,&quot;abortOpTime&quot;:{&quot;ts&quot;:{&quot;$timestamp&quot;:{&quot;t&quot;:1619454488,&quot;i&quot;:6}},&quot;t&quot;:1}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[j0:rs0:n0] | 2021-04-26T16:28:08.559+00:00 I REPL 4784909 [SignalHandler] &quot;Shutting down the ReplicationCoordinator&quot;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[j0:rs0:n0] | 2021-04-26T16:28:08.559+00:00 I REPL 5123006 [SignalHandler] &quot;Shutting down PrimaryOnlyService&quot;,&quot;attr&quot;:\{&quot;service&quot;:&quot;TenantMigrationDonorService&quot;,&quot;numInstances&quot;:1,&quot;numOperationContexts&quot;:1}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;The donor assumes that its cancellation tokens will be interrupted first on stepdown/shutdown, but in this scenario that assumption isn&apos;t valid. One way to fix this is to have the donor ignore certain error codes (w/ probably the same logic for every other PrimaryOnlyService), but I think a cleaner solution would be to do what we did for the TransactionCoordinatorService in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45009&quot; title=&quot;Transaction coordinator tasks should be robust to shutdown failing to step down&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45009&quot;&gt;&lt;del&gt;SERVER-45009&lt;/del&gt;&lt;/a&gt; and always run the PrimaryOnlyService stepdown handlers &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d37ee5b24d/src/mongo/db/commands/shutdown_d.cpp#L80-L82&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;even if the best-effort stepdown fails&lt;/a&gt;, since either way the services will be interrupted.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=matthew.saltz&quot; class=&quot;user-hover&quot; rel=&quot;matthew.saltz&quot;&gt;matthew.saltz&lt;/a&gt;, what do you think?&lt;/p&gt;</comment>
                            <comment id="3744057" author="pavithra.vetriselvan" created="Wed, 28 Apr 2021 15:08:49 +0000"  >&lt;p&gt;&lt;a href=&quot;https://evergreen.mongodb.com/task/mongodb_mongo_master_enterprise_rhel_80_64_bit_dynamic_all_feature_flags_required_display_tenant_migration_terminate_primary_jscore_passthrough_patch_6fb420bca5031e4864db1260a490b21cc699a129_6086de3e3627e041958464e0_21_04_26_15_39_15##comparehashes=6fb420bca5031e4864db1260a490b21cc699a129&amp;amp;threads=maxonly&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Evg Task&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://logkeeper.mongodb.org/lobster/build/30b590d370d6fbeb3ee1ef4710527ca0/test/6086e36854f24839a1734d2c#bookmarks=0%2C1163%2C1257%2C1262%2C1263%2C1330%2C1372%2C1373%2C1375%2C1413%2C1456%2C1481%2C1645%2C1728%2C1732%2C1734%2C1800%2C1806%2C1814%2C2586%2C2599%2C2604%2C2624%2C2747%2C3044%2C3119%2C3140%2C3213%2C3219%2C3881%2C3882%2C3890%2C8644&amp;amp;f~=000~ContinuousTenantMigration&amp;amp;f~=000~quiesce%20mode&amp;amp;f~=000~ShutdownInProgress%27&amp;amp;f~=000~ShutdownInProgress&amp;amp;f~=000~ContinuousStepdown&amp;amp;f~=100~lajdjfjrif&amp;amp;f~=000~TenantMigrationDonorService&amp;amp;f~=000~2f402b62-4338-440c-b55e-d5d29896b835&amp;amp;l=1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Relevant Logs (ShutdownInProgress)&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://logkeeper.mongodb.org/lobster/build/c92d9353e04b47861ff1c6222b59c95f/test/6086ea1090413067e72d9d82#bookmarks=0%2C4130%2C4217&amp;amp;l=1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Logs for InterruptedAtShutdown&lt;/a&gt;&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>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.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_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="21266"><![CDATA[v4.9]]></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>Wed, 28 Apr 2021 18:43:37 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 40 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_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, 40 weeks, 1 day 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>jack.mulrow@mongodb.com</customfieldvalue>
            <customfieldvalue>matthew.saltz@mongodb.com</customfieldvalue>
            <customfieldvalue>pavithra.vetriselvan@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hz75cf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hys1uv:</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="4516">Sharding 2021-05-03</customfieldvalue>
    <customfieldvalue id="4517">Sharding 2021-05-17</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|hz6rlj:</customfieldvalue>

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