<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:44:36 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-58470] Investigate potential double-throw in ARM</title>
                <link>https://jira.mongodb.org/browse/SERVER-58470</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;In &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-54937&quot; title=&quot;Remove DocumentSourceChangeStreamCloseCursor dependency on invalidate events&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-54937&quot;&gt;&lt;del&gt;SERVER-54937&lt;/del&gt;&lt;/a&gt; we added an &lt;tt&gt;_assertNotInvalidated&lt;/tt&gt; call in the &lt;tt&gt;AsyncResultsMerger&lt;/tt&gt; to check whether a change stream cursor has been invalidated. This is called &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d74e21009cdc793a5b2564d84ed7c9bfd953a25e/src/mongo/s/query/async_results_merger.cpp#L496-L499&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;right before we schedule further &lt;tt&gt;getMores&lt;/tt&gt; to the shards&lt;/a&gt;. We moved it here from &lt;tt&gt;AsyncResultsMerger::nextEvent()&lt;/tt&gt; in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56871&quot; title=&quot;Allow $match and $project to swap with $_internalUpdateOnAddShard and $_internalEnsureResumeTokenPresent&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56871&quot;&gt;&lt;del&gt;SERVER-56871&lt;/del&gt;&lt;/a&gt; since otherwise, a stream which does not return any events will never actually be invalidated.&lt;/p&gt;

&lt;p&gt;However, we also &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d74e21009cdc793a5b2564d84ed7c9bfd953a25e/src/mongo/s/query/async_results_merger.cpp#L781-L785&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;call into this code path&lt;/a&gt; from the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d74e21009cdc793a5b2564d84ed7c9bfd953a25e/src/mongo/s/query/async_results_merger.cpp#L476-L480&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;callback function that we assign to an asynchronous &lt;tt&gt;getMore&lt;/tt&gt;&lt;/a&gt;, which are scheduled automatically as long as a valid &lt;tt&gt;opCtx&lt;/tt&gt; exists and the previous batch received from the shard was empty. At a glance, it looks conceivable that this callback may throw while an exception thrown by another callback function or via &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d74e21009cdc793a5b2564d84ed7c9bfd953a25e/src/mongo/s/query/blocking_results_merger.cpp#L127&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this call in the &lt;tt&gt;BlockingResultsMerger&lt;/tt&gt;&lt;/a&gt; is already active.&lt;/p&gt;

&lt;p&gt;We should investigate whether it is possible to crash the process by inducing this scenario. If so, we&apos;ll need to rework our approach.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1816237">SERVER-58470</key>
            <summary>Investigate potential double-throw in ARM</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="13202">Works as Designed</resolution>
                                        <assignee username="andrew.paroski@mongodb.com">Drew Paroski</assignee>
                                    <reporter username="bernard.gorman@mongodb.com">Bernard Gorman</reporter>
                        <labels>
                    </labels>
                <created>Tue, 13 Jul 2021 10:47:15 +0000</created>
                <updated>Fri, 27 Oct 2023 13:52:20 +0000</updated>
                            <resolved>Wed, 14 Jul 2021 11:28:25 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="3932756" author="bernard.gorman" created="Wed, 14 Jul 2021 11:28:05 +0000"  >&lt;p&gt;After looking into this further, we&apos;re satisfied that this situation cannot occur. Once a &lt;tt&gt;getMore&lt;/tt&gt; has been dispatched via &lt;tt&gt;_scheduleGetMores&lt;/tt&gt;, the automated retries proceed on a separate loop that does not go through &lt;tt&gt;_assertNotInvalidated&lt;/tt&gt; again.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 30 weeks 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-1942</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, 30 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>bernard.gorman@mongodb.com</customfieldvalue>
            <customfieldvalue>andrew.paroski@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzrssf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzc2yv:</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="4711">Query Execution 2021-07-26</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|hzrf1j:</customfieldvalue>

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