<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:31:23 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-53611] Handle errors on donor before donor document is initially inserted</title>
                <link>https://jira.mongodb.org/browse/SERVER-53611</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;If the donor state machine errors&#160;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/487855872d8a0c486340221b2044f691d3e106a3/src/mongo/db/s/resharding/resharding_donor_service.cpp#L254&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;before the donor document is initially inserted,&lt;/a&gt;&#160;the transition to kError will not persist on disk because updates to the donor doc are done &lt;a href=&quot;https://github.com/mongodb/mongo/blob/487855872d8a0c486340221b2044f691d3e106a3/src/mongo/db/persistent_task_store.h#L89&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;without upsert&lt;/a&gt;.&#160;&lt;/p&gt;

&lt;p&gt;Two possible workarounds are upserting the doc in transitionToError() and ensuring that the DSM will not error before the donor document is inserted.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1582462">SERVER-53611</key>
            <summary>Handle errors on donor before donor document is initially inserted</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="13203">Gone away</resolution>
                                        <assignee username="backlog-server-sharding">[DO NOT USE] Backlog - Sharding Team</assignee>
                                    <reporter username="sarah.zhou@mongodb.com">Sarah Zhou</reporter>
                        <labels>
                            <label>PM-234-M3</label>
                            <label>PM-234-T-error-flow</label>
                    </labels>
                <created>Wed, 6 Jan 2021 17:11:02 +0000</created>
                <updated>Fri, 27 Oct 2023 20:46:16 +0000</updated>
                            <resolved>Tue, 2 Mar 2021 20:50:14 +0000</resolved>
                                                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="3643024" author="max.hirschhorn@10gen.com" created="Tue, 2 Mar 2021 20:50:14 +0000"  >&lt;p&gt;The changes from &lt;a href=&quot;https://github.com/mongodb/mongo/commit/6ca44ce30689b3fe93d3afe75f07c70a0fdc3d8d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;6ca44ce&lt;/a&gt; as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-54513&quot; title=&quot;Create new resharding recipient state kAwaitingFetchTimestamp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-54513&quot;&gt;&lt;del&gt;SERVER-54513&lt;/del&gt;&lt;/a&gt; made it so the state documents for donors and recipients have always been inserted before the DonorStateMachines and RecipientStateMachines are started. Closing this ticket as &quot;Gone away&quot;.&lt;/p&gt;</comment>
                            <comment id="3581812" author="haley.connelly" created="Mon, 25 Jan 2021 23:19:38 +0000"  >&lt;p&gt;I think there is an underlying problem here that extends to both recipient/donorStateMachines: * Both state machines must handle that the coordinator may report an error before their Resharding&amp;lt;Recipient/Donor&amp;gt;Document has been created locally or their Resharding&amp;lt;Recipient/Donor&amp;gt;Document has been persisted locally.&lt;/p&gt;

&lt;p&gt;eg): * Donor is in preparing-to-donate&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;reports an state DonorStateEnum::kError because there is an indexBuild in progress&lt;/li&gt;
	&lt;li&gt;Coordinator transitions to CoordinatorStateEnum::kError&lt;/li&gt;
	&lt;li&gt;At this point, the ReshardingRecipientMachine hasn&#8217;t been created, let alone has the ReshardingRecipientDocument been persisted locally.&lt;/li&gt;
	&lt;li&gt;Right now, if the&#160;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/72c083cee6c2e30d15b581808441bef06d276d6a/src/mongo/db/s/resharding/resharding_donor_recipient_common.cpp#L116-L125&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;ReshardingRecipientMachine doesn&#8217;t exist&lt;/a&gt;, we return&lt;/li&gt;
	&lt;li&gt;For recovery purposes, we probably want to persist that it has seen the error form the coordinator.&lt;/li&gt;
	&lt;li&gt;We need to ensure the error gets set after the original ReshardingRecipientDocument is&#160;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/72c083cee6c2e30d15b581808441bef06d276d6a/src/mongo/db/s/resharding/resharding_recipient_service.cpp#L519&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;inserted locally&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1598157">SERVER-54000</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1622834">SERVER-54513</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1629865">SERVER-54704</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>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25141"><![CDATA[Sharding]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 25 Jan 2021 23:19:38 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 49 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_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>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, 49 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-sharding</customfieldvalue>
            <customfieldvalue>haley.connelly@mongodb.com</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
            <customfieldvalue>sarah.zhou@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hyo80f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hy9zm7:</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_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.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|hynu9r:</customfieldvalue>

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