<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:29:52 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-32311] getAggPlanStage() should de-duplicate sharded aggregation explain output</title>
                <link>https://jira.mongodb.org/browse/SERVER-32311</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Running &lt;tt&gt;getAggPlanStage()&lt;/tt&gt; on the explain output for an aggregation that targets multiple shards in a cluster fails, because it expects that exactly one stage with that name exists. We could make an improvement such that if the stage appears in the &quot;shards&quot; part, we assert that it appears identically on each shard and then return it.&lt;/p&gt;</description>
                <environment></environment>
        <key id="471865">SERVER-32311</key>
            <summary>getAggPlanStage() should de-duplicate sharded aggregation explain output</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-query-execution">Backlog - Query Execution</assignee>
                                    <reporter username="kyle.suarez@mongodb.com">Kyle Suarez</reporter>
                        <labels>
                            <label>open_todo_in_code</label>
                    </labels>
                <created>Wed, 13 Dec 2017 22:00:23 +0000</created>
                <updated>Tue, 7 Nov 2023 15:52:07 +0000</updated>
                                                                            <component>Aggregation Framework</component>
                    <component>Testing Infrastructure</component>
                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="5860874" author="JIRAUSER1261429" created="Tue, 7 Nov 2023 15:52:07 +0000"  >&lt;p&gt;I believe a correct solution for this issue might be just using &lt;tt&gt;getAggPlanStages&lt;/tt&gt; and then assert the plans in a loop, because, as Dave mentioned, there seems to be no correct solution for automatic aggregation of the stages across the shards. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kyle.suarez%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;kyle.suarez@mongodb.com&quot;&gt;kyle.suarez@mongodb.com&lt;/a&gt; do you think we can close the ticket with this explanation because people continue to ban js tests from sharded collection test suites appealing to this ticket.&lt;/p&gt;</comment>
                            <comment id="2519292" author="charlie.swanson" created="Wed, 6 Nov 2019 02:34:57 +0000"  >&lt;p&gt;Good with me! Sorry for the false alarm &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jacob.evans&quot; class=&quot;user-hover&quot; rel=&quot;jacob.evans&quot;&gt;jacob.evans&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="2518711" author="david.storch" created="Tue, 5 Nov 2019 19:47:05 +0000"  >&lt;p&gt;Oh, you&apos;re right. I had assumed that this ticket was just about handling the sharded format, but you&apos;re correct that the suggestion is indeed to somehow deduplicate stage information across shards. It&apos;s not obvious to me that this automatic deduplication is good behavior, since it could be surprising to some callers. I suggest we return this ticket to the backlog and remove the &quot;greenerbuild&quot; label, since there is not clearly a quick win here to improve test coverage.&lt;/p&gt;</comment>
                            <comment id="2514422" author="charlie.swanson" created="Fri, 1 Nov 2019 17:45:54 +0000"  >&lt;p&gt;Hmm but that code just looks like it appends them all to an array. This ticket looks to me about deduplicating the stages from different shards so we don&apos;t trip this assertion: &lt;a href=&quot;https://github.com/mongodb/mongo/blob/8010c51d3f1cc1020959f8b351f8242d141d42a3/jstests/libs/analyze_plan.js#L249-L252&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/8010c51d3f1cc1020959f8b351f8242d141d42a3/jstests/libs/analyze_plan.js#L249-L252&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2514359" author="david.storch" created="Fri, 1 Nov 2019 17:08:19 +0000"  >&lt;p&gt;It wasn&apos;t obvious from the git blame when exactly the work happened. But you can see that &lt;tt&gt;getAggPlanStages()&lt;/tt&gt; has handling for the sharded output format:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/8010c51d3f1cc1020959f8b351f8242d141d42a3/jstests/libs/analyze_plan.js#L199-L226&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/8010c51d3f1cc1020959f8b351f8242d141d42a3/jstests/libs/analyze_plan.js#L199-L226&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2514325" author="charlie.swanson" created="Fri, 1 Nov 2019 16:48:42 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.storch&quot; class=&quot;user-hover&quot; rel=&quot;david.storch&quot;&gt;david.storch&lt;/a&gt; I&apos;m not seeing any indication that this work was done... Where do you see it? When did the work happen?&lt;/p&gt;</comment>
                            <comment id="2485919" author="david.storch" created="Wed, 16 Oct 2019 22:43:29 +0000"  >&lt;p&gt;It looks like this improvement has been made already in &lt;tt&gt;analyze_plan.js&lt;/tt&gt;, but there are a bunch of TODOs referencing this ticket where we have blacklisted tests. In order to improve test coverage, we should investigate whether those tests can be unblacklisted in various passthrough suites. Flagging for triage so that we can decide whether we can to schedule this work.&lt;/p&gt;</comment>
                            <comment id="1799472" author="kyle.suarez" created="Thu, 8 Feb 2018 15:29:28 +0000"  >&lt;p&gt;Ditto the query-version of this, &lt;tt&gt;getPlanStage()&lt;/tt&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25125"><![CDATA[Query Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 16 Oct 2019 22:43:29 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 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_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.ignatyev@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            13 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alexander.ignatyev@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-query-execution</customfieldvalue>
            <customfieldvalue>charlie.swanson@mongodb.com</customfieldvalue>
            <customfieldvalue>david.storch@mongodb.com</customfieldvalue>
            <customfieldvalue>kyle.suarez@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htm69j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr2h5j:</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_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|htlsdr:</customfieldvalue>

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