<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:42:06 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-79862] Exponential batch size growth in DocumentSourceCursor</title>
                <link>https://jira.mongodb.org/browse/SERVER-79862</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;blockquote&gt;&lt;p&gt;as part of the migration of $search to SBE, we will be using DocumentSourceCursor together with PlanExecutorSBE. Due to how DocumentSourceCursor batching works, there is a potential risk that the performance of some queries will significantly degrade. Specifically queries like:&lt;br/&gt;
{{&lt;span class=&quot;error&quot;&gt;&amp;#91;$search, $stageNotSupportedBySBE, $unwind, $limit&amp;#93;&lt;/span&gt; }}&#160; will result in DocumentSourceCursor attempting to unnecessarily populate potentially a large batch of documents (4MB), which could potentially take multiple roundtrips to mongot, and then $limit may discard majority of that.This issue will not appear for &quot;nicer&quot; queries like:&lt;br/&gt;
{{&lt;span class=&quot;error&quot;&gt;&amp;#91;$search, $stagesSupportedBySBE..., $limit&amp;#93;&lt;/span&gt; }}&#160; -&amp;gt; here $limit will be pushed down below DocumentSourceCursor and the application of $limit will be done eficiently.&lt;br/&gt;
&lt;tt&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;$search, $stageNotSupportedBySBEButReorderableWithSkipLimit..., $limit&amp;#93;&lt;/span&gt;&lt;/tt&gt;&#160; -&amp;gt; here despite $limit being outside of supported prefix, the $search stages will infer the limit and apply it properly (at least after&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-78351&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-78351&lt;/a&gt;&#160;is fixed).This problem should go away once SBE supports all stages, however until then there is a risk that some queries may become really really slow. Is this a blocker for shipping the search on SBE?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Use exponential batch size growth in DocumentSourceCursor to avoid performance issue for particular queries in SBE.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2412473">SERVER-79862</key>
            <summary>Exponential batch size growth in DocumentSourceCursor</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="13201">Fixed</resolution>
                                        <assignee username="zixuan.zhuang@mongodb.com">Zixuan Zhuang</assignee>
                                    <reporter username="zixuan.zhuang@mongodb.com">Zixuan Zhuang</reporter>
                        <labels>
                            <label>auto-reverted</label>
                    </labels>
                <created>Tue, 8 Aug 2023 20:50:36 +0000</created>
                <updated>Tue, 14 Nov 2023 11:46:06 +0000</updated>
                            <resolved>Wed, 8 Nov 2023 22:04:23 +0000</resolved>
                                                    <fixVersion>7.3.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="5865620" author="xgen-internal-githook" created="Wed, 8 Nov 2023 20:37:11 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;zixuan zhuang&apos;, &apos;email&apos;: &apos;zixuan.zhuang@mongodb.com&apos;, &apos;username&apos;: &apos;leozzx&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-79862&quot; title=&quot;Exponential batch size growth in DocumentSourceCursor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-79862&quot;&gt;&lt;del&gt;SERVER-79862&lt;/del&gt;&lt;/a&gt; Exponential batch size growth in DocumentSourceCursor&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/fb3b3e9ee0dc349006199adf740a0da50e73f51c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/fb3b3e9ee0dc349006199adf740a0da50e73f51c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5863805" author="xgen-internal-githook" created="Wed, 8 Nov 2023 12:31:45 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;auto-revert-processor&apos;, &apos;email&apos;: &apos;dev-prod-dag@mongodb.com&apos;, &apos;username&apos;: &apos;&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-79862&quot; title=&quot;Exponential batch size growth in DocumentSourceCursor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-79862&quot;&gt;&lt;del&gt;SERVER-79862&lt;/del&gt;&lt;/a&gt; Exponential batch size growth in DocumentSourceCursor&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 5514f70805b6ea272238d9391b1d2deaefb5fee3.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/93a2ebef8f8bfd28b6fc41df71d4c6c4c530c19b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/93a2ebef8f8bfd28b6fc41df71d4c6c4c530c19b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5862144" author="xgen-internal-githook" created="Tue, 7 Nov 2023 21:17:23 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;zixuan zhuang&apos;, &apos;email&apos;: &apos;zixuan.zhuang@mongodb.com&apos;, &apos;username&apos;: &apos;leozzx&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-79862&quot; title=&quot;Exponential batch size growth in DocumentSourceCursor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-79862&quot;&gt;&lt;del&gt;SERVER-79862&lt;/del&gt;&lt;/a&gt; Exponential batch size growth in DocumentSourceCursor&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5514f70805b6ea272238d9391b1d2deaefb5fee3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5514f70805b6ea272238d9391b1d2deaefb5fee3&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5621632" author="JIRAUSER1265798" created="Tue, 8 Aug 2023 20:53:26 +0000"  >&lt;blockquote&gt;&lt;p&gt;The change I&apos;d suggest is to use exponential batch size growth in DocumentSourceCursor. Start with something very small (1? 2? 4?) and then keep doubling with each subsequent batch. That means that we will&lt;br/&gt;
never request most than 2x of documents then we actually needed. And we will never do more than log2&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/thumbs_down.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; batches than we actually needed. Which seems like a good balance.This should also help other agg pipeline cases, including classic (and SBE until entire pipeline is supported by SBE), where we were unable to pushdown limit into classic plan stages and instead have limit outside of it.&lt;/p&gt;&lt;/blockquote&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.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="25125"><![CDATA[Query 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>Tue, 31 Oct 2023 01:27:43 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 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_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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-3351</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>liubov.molchanova@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            13 weeks 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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>zixuan.zhuang@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2lg9b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i23iyo:</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="7257">QE 2023-11-13</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|i2l2en:</customfieldvalue>

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