<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:36:54 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-77895] fsm_workloads /agg_match.js fails due to dropped output collection</title>
                <link>https://jira.mongodb.org/browse/SERVER-77895</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The FSM workload agg_match.js verifies the results of the aggregation by [checking the number of documents in the output collection &lt;a href=&quot;https://github.com/mongodb/mongo/blob/72ac0d6a11f52f91736840d22b797f9cdd8d2d7f/jstests/concurrency/fsm_workloads/agg_match.js#L24&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/72ac0d6a11f52f91736840d22b797f9cdd8d2d7f/jstests/concurrency/fsm_workloads/agg_match.js#L24&lt;/a&gt;. It is expecting the output collection to contain half as many documents as the source collection, but we sometimes see failures in our CI system, especially in the concurrency suites, where the output collection document count is reported as zero.&lt;/p&gt;

&lt;p&gt;====== OLD DESCRIPTION ===== &lt;br/&gt;
OLD TITLE: fsm_workloads /agg_match.js fails due to fast count&lt;/p&gt;

&lt;p&gt;The FSM workload agg_match.js uses &lt;a href=&quot;https://github.com/mongodb/mongo/blob/72ac0d6a11f52f91736840d22b797f9cdd8d2d7f/jstests/concurrency/fsm_workloads/agg_match.js#L24&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;fast count&lt;/a&gt; to check the collection.  This is not as robust as using aggregation itself (especially given this test is in the aggregation test suite) to retrieve the collection count (using &lt;a href=&quot;https://github.com/mongodb/mongo/blob/72ac0d6a11f52f91736840d22b797f9cdd8d2d7f/src/mongo/shell/collection.js#L1348&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;db.collection.countDocuments()&lt;/a&gt;). It would also be less confusing for build failures in the aggregation test suites to be failing due to fast count inaccuracies.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2361878">SERVER-77895</key>
            <summary>fsm_workloads /agg_match.js fails due to dropped output collection</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="13201">Fixed</resolution>
                                        <assignee username="henrik.edin@mongodb.com">Henrik Edin</assignee>
                                    <reporter username="benety.goh@mongodb.com">Benety Goh</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Jun 2023 22:17:41 +0000</created>
                <updated>Sun, 29 Oct 2023 21:20:21 +0000</updated>
                            <resolved>Mon, 12 Jun 2023 17:21:58 +0000</resolved>
                                                    <fixVersion>7.1.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="5490800" author="xgen-internal-githook" created="Sun, 11 Jun 2023 23:38:42 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Henrik Edin&apos;, &apos;email&apos;: &apos;henrik.edin@mongodb.com&apos;, &apos;username&apos;: &apos;henrikedin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-77895&quot; title=&quot;fsm_workloads /agg_match.js fails due to dropped output collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-77895&quot;&gt;&lt;del&gt;SERVER-77895&lt;/del&gt;&lt;/a&gt; Fix window of inconsistency with collection drop&lt;/p&gt;

&lt;p&gt;Make sure that commit handlers that add idents for pending drop to the reaper execute before drops are made visible in the catalog. If this executes in the wrong order a reader could fail to find the collection in both the reaper and catalog.&lt;/p&gt;

&lt;p&gt;This is intended as a temporary fix until we have a long-term solution for our atomicity issues with commit handlers&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/667d1b7de618b451f8a4ad7b3b7c56a4c985f16b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/667d1b7de618b451f8a4ad7b3b7c56a4c985f16b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5488883" author="henrik.edin" created="Fri, 9 Jun 2023 18:18:56 +0000"  >&lt;p&gt;The issue is indeed caused by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76839&quot; title=&quot;Operations with a CollectionCatalog instance can observe uncommitted collections become committed from a different operation operating on a different CollectionCatalog instance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76839&quot;&gt;&lt;del&gt;SERVER-76839&lt;/del&gt;&lt;/a&gt;. Due to the change in the order&#160;&lt;tt&gt;onCommit&lt;/tt&gt; handlers execute there is now a window where a drop has been made visible in the &lt;tt&gt;CollectionCatalog&lt;/tt&gt; but the ident has not yet been added to the reaper. A reader that observes this state believes that the reaper has already reaped the ident which we treat as a non-existing collection.&lt;/p&gt;</comment>
                            <comment id="5484409" author="max.hirschhorn@10gen.com" created="Thu, 8 Jun 2023 11:45:04 +0000"  >&lt;p&gt;The agg&amp;#95;match.js FSM workload runs a $out aggregation which internally uses renameCollection. Renaming a collection is meant to be an atomic operation. In that sense I would expect checking the fast&amp;#45;count for a collection to always see either (a) the fast&amp;#45;count of collection instance A or (b) the fast&amp;#45;count of collection instance B. The system reporting fast&amp;#45;count == 0 breaks the atomicity guarantee given that neither the source nor target collections were empty.&lt;/p&gt;

&lt;p&gt;Changing the agg&amp;#95;match.js FSM workload to do a COUNT&amp;#95;SCAN and seeing it fail doesn&apos;t seem exactly related here because it is known for query cursors to not survive renameCollection (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31695&quot; title=&quot;Support queries across collection renames&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31695&quot;&gt;SERVER-31695&lt;/a&gt;).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2331928">SERVER-76839</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>3.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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25136"><![CDATA[Storage Execution]]></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>Thu, 8 Jun 2023 02:58:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        34 weeks, 3 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></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>
                            34 weeks, 3 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>156.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>benety.goh@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>henrik.edin@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|i2cs5z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1v05c:</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7179">Execution NAMR Team 2023-06-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|i2cebb:</customfieldvalue>

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