<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:30:58 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-53454] Return an error future from ReshardingOplogFetcher::awaitInsert if the fetcher has been shut down</title>
                <link>https://jira.mongodb.org/browse/SERVER-53454</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Reference is in the linked BF comments. The diff to get a repro is attached. This diff may be useful in order to create a test to verify this behavior has been fixed, and will definitely be useful to verify locally that the fix works.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1572480">SERVER-53454</key>
            <summary>Return an error future from ReshardingOplogFetcher::awaitInsert if the fetcher has been shut down</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="13203">Gone away</resolution>
                                        <assignee username="max.hirschhorn@mongodb.com">Max Hirschhorn</assignee>
                                    <reporter username="blake.oler@mongodb.com">Blake Oler</reporter>
                        <labels>
                            <label>PM-234-M3</label>
                            <label>PM-234-T-oplog-fetch</label>
                    </labels>
                <created>Fri, 18 Dec 2020 21:45:26 +0000</created>
                <updated>Fri, 27 Oct 2023 20:46:16 +0000</updated>
                            <resolved>Tue, 20 Jul 2021 15:53:49 +0000</resolved>
                                                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="3952749" author="max.hirschhorn@10gen.com" created="Tue, 20 Jul 2021 15:53:49 +0000"  >&lt;p&gt;I took another look at &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53454&quot; title=&quot;Return an error future from ReshardingOplogFetcher::awaitInsert if the fetcher has been shut down&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53454&quot;&gt;&lt;del&gt;SERVER-53454&lt;/del&gt;&lt;/a&gt; and the original failure. I don&apos;t see any reason to believe awaitInsert() was being called before the previously returned future had become ready either then or now. My best guess for the cause of the original failure is that the hack we were using to signal the ReshardingOplogApplier should abort via its corresponding ReshardingOplogFetcher wasn&apos;t safe from the ReshardingOplogFetcher being destroyed before the ReshardingOplogApplier had receive the notification.&lt;/p&gt;

&lt;p&gt;The changes from &lt;a href=&quot;https://github.com/mongodb/mongo/commit/67ff8452c4172dbbfd2199df2dc349eb739b7bf1#diff-7862ae6cb3c5cd2d1bfeed8b385b066de712656d78aba18942d0bff695e6c1d7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;67ff845&lt;/a&gt; as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53931&quot; title=&quot;Investigate how to cancel recipients cloning/applying in resharding&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53931&quot;&gt;&lt;del&gt;SERVER-53931&lt;/del&gt;&lt;/a&gt; made it so we now use cancellation tokens for that purpose instead and the changes from &lt;a href=&quot;https://github.com/mongodb/mongo/commit/518af1a5c2189882acaf1f41726aeaf3fd0c1f76&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;518af1a&lt;/a&gt; as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55813&quot; title=&quot;ReshardingDataReplication may still emplace _consistentButStale more than once&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55813&quot;&gt;&lt;del&gt;SERVER-55813&lt;/del&gt;&lt;/a&gt; guarantee the ReshardingOplogFetcher and its associated member variables as alive the entire time the ReshardingOplogApplier would be running.&lt;/p&gt;

&lt;p&gt;I filed &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-58702&quot; title=&quot;Fix comment in ReshardingDataReplication and update its member declaration order&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-58702&quot;&gt;&lt;del&gt;SERVER-58702&lt;/del&gt;&lt;/a&gt; to fix the comment in ReshardingDataReplication and update the declaration order for the member variables. Closing this ticket as &quot;Gone away&quot;.&lt;/p&gt;</comment>
                            <comment id="3539108" author="max.hirschhorn@10gen.com" created="Tue, 22 Dec 2020 02:07:20 +0000"  >&lt;p&gt;Looking at the TestAwaitInsertErrors test case in the attached diff, it seems like Blake demonstrated an issue with referencing the moved-from ReshardingOplogApplier::_onInsertFuture when the caller violates the contract by calling awaitInsert() prior to the future returned by an earlier call to awaitInsert() having become ready?&lt;/p&gt;

&lt;p&gt;Do we know that it possible for ReshardingDonorOplogIterator to do? ReshardingOplogApplier::&amp;#95;scheduleNextBatch() only ever calls ReshardingDonorOplogIterator::getNext() once due to &lt;a href=&quot;https://github.com/mongodb/mongo/blob/22762fd1b9c378eb6c5c066a8a3f1333502bda53/src/mongo/db/s/resharding/resharding_server_parameters.idl#L80&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the current setting for the reshardingBatchLimitOperations server parameter&lt;/a&gt;. And the call to ReshardingOplogApplier::&amp;#95;scheduleNextBatch() is responsible for setting up the next call to ReshardingOplogApplier::&amp;#95;scheduleNextBatch() &lt;em&gt;in sequence&lt;/em&gt;. It isn&apos;t clear to me how we&apos;d have multiple calls to awaitInsert() outstanding at the same time. Could there be something else going on in the Evergreen failure?&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">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="292535" name="BF.diff" size="7109" author="blake.oler@mongodb.com" created="Fri, 18 Dec 2020 21:45:20 +0000"/>
                    </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_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="21777"><![CDATA[v5.0]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 22 Dec 2020 02:07:20 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 29 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, 29 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>23.0</customfieldvalue>

                        </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>blake.oler@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|hymit3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hy8c87:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="4521">Sharding 2021-07-12</customfieldvalue>
    <customfieldvalue id="4522">Sharding 2021-07-26</customfieldvalue>

                        </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|hym52f:</customfieldvalue>

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