<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:26:10 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-51696] Find a way to verify writes to various resharding-related collections as part of a POS-driven operation in resharding_coordinator_test.cpp </title>
                <link>https://jira.mongodb.org/browse/SERVER-51696</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description></description>
                <environment></environment>
        <key id="1517108">SERVER-51696</key>
            <summary>Find a way to verify writes to various resharding-related collections as part of a POS-driven operation in resharding_coordinator_test.cpp </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="3">Duplicate</resolution>
                                        <assignee username="backlog-server-sharding-nyc">[DO NOT USE] Backlog - Sharding NYC</assignee>
                                    <reporter username="blake.oler@mongodb.com">Blake Oler</reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Oct 2020 16:33:53 +0000</created>
                <updated>Tue, 6 Dec 2022 02:02:51 +0000</updated>
                            <resolved>Sat, 5 Jun 2021 17:34:22 +0000</resolved>
                                                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="3861331" author="max.hirschhorn@10gen.com" created="Sat, 5 Jun 2021 17:34:22 +0000"  >&lt;p&gt;A new ReshardingCoordinatorServiceTest fixture was added under &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55818&quot; title=&quot;Creating a ReshardingCoordinatorServiceTest fixture analogous to the ReshardingDonorServiceTest fixture from SERVER-54981.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55818&quot;&gt;&lt;del&gt;SERVER-55818&lt;/del&gt;&lt;/a&gt; and has a ReshardingCoordinator instance transition through all of its states.&lt;/p&gt;</comment>
                            <comment id="3545206" author="max.hirschhorn@10gen.com" created="Thu, 31 Dec 2020 05:18:55 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Notes for implementer: Max wants a failpoint to hang write before writing down that we&apos;ve committed, to verify that both the temporary and original have the same data.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Note that these failpoints were already introduced as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51088&quot; title=&quot;Create ReshardingFixture class for resharding fuzzer to use&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51088&quot;&gt;&lt;del&gt;SERVER-51088&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;I think it would be good to clarify what this ticket is meant to achieve.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;C++ unit tests for resharding&apos;s commit step (as well as the other steps) were added as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-50304&quot; title=&quot;Coordinator updates config.reshardingOperations and config.collections entries in a single rs transaction upon state changes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-50304&quot;&gt;&lt;del&gt;SERVER-50304&lt;/del&gt;&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/d580c25413e64ec333e55cd2c77282f2f2269df6/jstests/sharding/libs/resharding_test_fixture.js#L314&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;ReshardingTest#_checkConsistencyAndPostState()&lt;/a&gt; verifies data has replicated correctly before resharding commits and is also cleaned up correctly after resharding has completed.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I think the JavaScript testing has reached a sufficient point to say the resharding coordinator triggers all of the state transitions necessary to get all the way through the operation. It seems like it could be useful to have testing which asserts specifically on the mechanics of how those state transitions happen. For example:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Each write to config.reshardingOperations is in a multi-document transaction accompanied by writes to config.collections and sometimes also config.tags. &lt;em&gt;Could run reshardCollection command (don&apos;t even need any collection data!) and then make assertions on the resulting oplog entries generated by the config server primary. And maybe also make assertions on the resulting the profiler entries for the operations being run by the config server primary.&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;Error handling for performing those local replica set transactions (both transient and non-transient errors). &lt;em&gt;Could claim this is covered by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53199&quot; title=&quot;Transient transaction errors updating config collections on the coordinator aborts the resharding operation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53199&quot;&gt;&lt;del&gt;SERVER-53199&lt;/del&gt;&lt;/a&gt; with how ReshardingCoordinator does all of its writes with bumpCollShardVersionsAndChangeMetadataInTxn().&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;One aspect of resharding&amp;#95;coordinator&amp;#95;test.cpp that I had felt could be improved is how the test cases simulate what ReshardingCoordinator would be doing and aren&apos;t actually running the primary-only service Instance.&lt;/p&gt;</comment>
                            <comment id="3474123" author="haley.connelly" created="Tue, 3 Nov 2020 17:37:00 +0000"  >&lt;p&gt;Note: We spoke offline and determined this won&apos;t be ready until MS1 is complete.&lt;/p&gt;</comment>
                            <comment id="3471512" author="blake.oler" created="Mon, 2 Nov 2020 13:55:32 +0000"  >&lt;p&gt;Notes for implementer: Max wants a failpoint to hang write before writing down that we&apos;ve committed, to verify that both the temporary and original have the same data.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="1671919">SERVER-55818</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1769848">SERVER-57479</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>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25134"><![CDATA[Sharding NYC]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 3 Nov 2020 17:37:00 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 35 weeks, 4 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-234</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 35 weeks, 4 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-sharding-nyc</customfieldvalue>
            <customfieldvalue>blake.oler@mongodb.com</customfieldvalue>
            <customfieldvalue>haley.connelly@mongodb.com</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hyd53r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxzegv:</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_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hycrd3:</customfieldvalue>

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