<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:12:31 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-26562] Move CommitChunkMigration command implementation into a Catalog function and unit test it</title>
                <link>https://jira.mongodb.org/browse/SERVER-26562</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;While working on &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-25875&quot; title=&quot;Pull out &amp;quot;migrationCommitError&amp;quot; and &amp;quot;migrationCommitVersionError&amp;quot; failpoints and replace them with more comprehensive jstest coverage&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-25875&quot;&gt;&lt;del&gt;SERVER-25875&lt;/del&gt;&lt;/a&gt;, it became evident that to adequately test the CommitChunkMigration command with JS testing requires cumbersome failpoint additions. Continuing to add failpoints would make future changes increasingly difficult. Unit testing is far more appropriate in this case than adding failpoints and JS test setup in order to mimic unit testing.&lt;/p&gt;

&lt;p&gt;As part of this ticket, the code from the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/master/src/mongo/db/s/config/configsvr_commit_chunk_migration_command.cpp&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;CommitChunkMigration&lt;/tt&gt; command&lt;/a&gt; should be moved to be a &lt;tt&gt;commitChunkMigration&lt;/tt&gt; method on ShardingCatalogManager with the following parameters:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Collection namespace&lt;/li&gt;
	&lt;li&gt;Migrated chunk - ChunkType&lt;/li&gt;
	&lt;li&gt;Control chunk (optional) - ChunkType&lt;/li&gt;
	&lt;li&gt;From shard - ShardId&lt;/li&gt;
	&lt;li&gt;To shard - ShardId&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The current parameters &lt;tt&gt;fromShardCollectionVersion&lt;/tt&gt; and &lt;tt&gt;shardHasDistributedLock&lt;/tt&gt; will be removed in place of the exact chunk version being transmitted and the newly written unit-tests.&lt;/p&gt;

&lt;p&gt;In addition to the change above, unit-tests must be implemented similar to what we do for split and merge. The following test case should be included:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Correctly migrating a chunk&lt;/li&gt;
	&lt;li&gt;Correctly migrating the last chunk from a shard (i.e., there is no control chunk)&lt;/li&gt;
	&lt;li&gt;The expected chunk version does not match&lt;/li&gt;
	&lt;li&gt;The expected chunk epoch does not match&lt;/li&gt;
	&lt;li&gt;The from shard does not match&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="322575">SERVER-26562</key>
            <summary>Move CommitChunkMigration command implementation into a Catalog function and unit test it</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="9">Done</resolution>
                                        <assignee username="nathan.myers">Nathan Myers</assignee>
                                    <reporter username="dianna.hohensee@mongodb.com">Dianna Hohensee</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Oct 2016 21:02:40 +0000</created>
                <updated>Wed, 5 Apr 2017 11:43:26 +0000</updated>
                            <resolved>Fri, 9 Dec 2016 00:00:07 +0000</resolved>
                                                    <fixVersion>3.4.2</fixVersion>
                    <fixVersion>3.5.2</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="1481597" author="xgen-internal-githook" created="Fri, 20 Jan 2017 20:07:09 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;nathan-myers-mongo&apos;, u&apos;name&apos;: u&apos;Nathan Myers&apos;, u&apos;email&apos;: u&apos;nathan.myers@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26562&quot; title=&quot;Move CommitChunkMigration command implementation into a Catalog function and unit test it&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26562&quot;&gt;&lt;del&gt;SERVER-26562&lt;/del&gt;&lt;/a&gt; Unit tests for commitChunkMigration&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 9b403d89bb81064a9d4813724d075c51b0121e97)&lt;br/&gt;
(cherry picked from commit 03670b56b84bd67356d391e474d1a26b8e1acb9f)&lt;br/&gt;
(cherry picked from commit b5fedd38b03e5d787fc4322a28e12aa38a3d3dc8)&lt;br/&gt;
Branch: v3.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/30ac354f3e2bc67a35f769b13c5c5bbef3b244ff&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/30ac354f3e2bc67a35f769b13c5c5bbef3b244ff&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1455834" author="nathan.myers" created="Mon, 12 Dec 2016 22:38:59 +0000"  >&lt;p&gt;Improve testing of 3.4 releases.&lt;/p&gt;</comment>
                            <comment id="1453451" author="xgen-internal-githook" created="Thu, 8 Dec 2016 23:58:53 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;nathan-myers-mongo&apos;, u&apos;name&apos;: u&apos;Nathan Myers&apos;, u&apos;email&apos;: u&apos;nathan.myers@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26562&quot; title=&quot;Move CommitChunkMigration command implementation into a Catalog function and unit test it&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26562&quot;&gt;&lt;del&gt;SERVER-26562&lt;/del&gt;&lt;/a&gt; Unit tests for commitChunkMigration&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b5fedd38b03e5d787fc4322a28e12aa38a3d3dc8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b5fedd38b03e5d787fc4322a28e12aa38a3d3dc8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1449274" author="xgen-internal-githook" created="Mon, 5 Dec 2016 16:05:17 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;Machyne&apos;, u&apos;name&apos;: u&apos;Matt Cotter&apos;, u&apos;email&apos;: u&apos;matt.cotter@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26562&quot; title=&quot;Move CommitChunkMigration command implementation into a Catalog function and unit test it&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26562&quot;&gt;&lt;del&gt;SERVER-26562&lt;/del&gt;&lt;/a&gt; fix lint&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/03670b56b84bd67356d391e474d1a26b8e1acb9f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/03670b56b84bd67356d391e474d1a26b8e1acb9f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1449242" author="xgen-internal-githook" created="Mon, 5 Dec 2016 15:45:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;nathan-myers-mongo&apos;, u&apos;name&apos;: u&apos;Nathan Myers&apos;, u&apos;email&apos;: u&apos;nathan.myers@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26562&quot; title=&quot;Move CommitChunkMigration command implementation into a Catalog function and unit test it&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26562&quot;&gt;&lt;del&gt;SERVER-26562&lt;/del&gt;&lt;/a&gt; Move CommitChunkMigration cmd impl to catalog, prep for unit tests&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9b403d89bb81064a9d4813724d075c51b0121e97&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9b403d89bb81064a9d4813724d075c51b0121e97&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1441581" author="nathan.myers" created="Wed, 23 Nov 2016 19:43:36 +0000"  >&lt;p&gt;We will remove the  MoveChunkRequest::_takeDistLock member and corresponding arguments and message fields for 3.5 after completing the backport to 3.4.  Includes CommitChunkMigrationRequest::appendAsCommand argument shardHasDistributedLock.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </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>4.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="14340"><![CDATA[v3.4]]></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, 23 Nov 2016 19:43:36 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        7 years, 3 weeks, 5 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            7 years, 3 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>dianna.hohensee@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>nathan.myers</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrjtpr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrbz7b:</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="1236">Sharding 2016-10-31</customfieldvalue>
    <customfieldvalue id="1314">Sharding 2016-11-21</customfieldvalue>
    <customfieldvalue id="1315">Sharding 2016-12-12</customfieldvalue>
    <customfieldvalue id="1316">Sharding 2017-01-02</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|hs4oen:</customfieldvalue>

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