<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:01:44 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-65044] Investigate perf regressions of the SBE lookup in microbenchmarks</title>
                <link>https://jira.mongodb.org/browse/SERVER-65044</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;taking a look at BF-24743, I think it&#8217;s indeed the SBE lookup perf regressions.&lt;/p&gt;

&lt;p&gt;Regressed test cases are Aggregation.Lookup / Aggregation.Lookup.LocalArray / Aggregation.IdentityView.Lookup / Aggregation.IdentityView.Lookup.LocalArray.&lt;/p&gt;

&lt;p&gt;There are no indexes on the foreign collection, looking at the data populator (&lt;a href=&quot;https://github.com/mongodb/mongo-perf/blob/b156b220d51a61c2a7496f44f5cc0a7d6b46c64a/testcases/pipelines.js#L873-L931&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-perf/blob/b156b220d51a61c2a7496f44f5cc0a7d6b46c64a/testcases/pipelines.js#L873-L931&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;We use &lt;tt&gt;basicLookupPopulator&lt;/tt&gt;&#160;for &#8220;Aggregation.Lookup&#8221; and &#8220;Aggregation.IdentityView.Lookup&#8221; test cases and use &lt;tt&gt;basicArrayLookupPopulator&lt;/tt&gt;&#160;for &#8220;Aggregation.Lookup.LocalArray&#8221; and &#8220;Aggregation.IdentityView.Lookup.LocalArray&#8221; test cases.&lt;/p&gt;

&lt;p&gt;And the pipeline is &lt;a href=&quot;#B_COLL_lookup&#8221;, localField: &#8220;foreignKey&#8221;, foreignField: &#8220;_id&#8221;, as: &#8220;match&#8221;}}&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;{$lookup: {from: &#8220;#B_COLL_lookup&#8221;, localField: &#8220;foreignKey&#8221;, foreignField: &#8220;_id&#8221;, as: &#8220;match&#8221;}}&lt;/a&gt; and we don&#8217;t use allowDiskUse . So, they are pushed down to the SBE and it will be NLJ-based lookup.&lt;/p&gt;

&lt;p&gt;Aggregation.Lookup / Aggregation.IdentityView.Lookup test cases are here:&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-perf/blob/b156b220d51a61c2a7496f44f5cc0a7d6b46c64a/testcases/pipelines.js#L1005-L1017&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-perf/blob/b156b220d51a61c2a7496f44f5cc0a7d6b46c64a/testcases/pipelines.js#L1005-L1017&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aggregation.Lookup.LocalArray / Aggregation.IdentityView.Lookup.LocalArray test cases are here:&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-perf/blob/b156b220d51a61c2a7496f44f5cc0a7d6b46c64a/testcases/pipelines.js#L1050-L1062&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-perf/blob/b156b220d51a61c2a7496f44f5cc0a7d6b46c64a/testcases/pipelines.js#L1050-L1062&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2011449">SERVER-65044</key>
            <summary>Investigate perf regressions of the SBE lookup in microbenchmarks</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="yoonsoo.kim@mongodb.com">Yoon Soo Kim</assignee>
                                    <reporter username="yoonsoo.kim@mongodb.com">Yoon Soo Kim</reporter>
                        <labels>
                    </labels>
                <created>Tue, 29 Mar 2022 17:22:21 +0000</created>
                <updated>Fri, 27 Oct 2023 20:45:34 +0000</updated>
                            <resolved>Tue, 12 Apr 2022 20:03:08 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="4478319" author="JIRAUSER1258488" created="Tue, 12 Apr 2022 20:03:08 +0000"  >&lt;p&gt;This regression happened when we enable the feature on the all-feature-flags build variant and yet hadn&apos;t enabled the SBE INLJ. The query was using the classic INLJ but after enabling the feature on all-feature-flags build variant, the query started using the SBE NLJ which is supposed to be much slower than the INLJ.&lt;/p&gt;

&lt;p&gt;Now we enabled the SBE INLJ and so we&apos;re seeing 160% ~ 570% perf improvements in the same workloads.&lt;/p&gt;

&lt;p&gt;Closing this as &quot;Gone away&quot;&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>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>
                                        1 year, 43 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-2449</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>
                            1 year, 43 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>135.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>yoonsoo.kim@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0oy0v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i07y18:</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="5888">QE 2022-04-18</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|i0ok67:</customfieldvalue>

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