<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:06:11 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-66702] Re-introduce SBE feature flag</title>
                <link>https://jira.mongodb.org/browse/SERVER-66702</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Once &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-66583&quot; title=&quot;Re-enable SBE as the default engine, falling back to classic unless $lookup or $group are pushed down&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-66583&quot;&gt;&lt;del&gt;SERVER-66583&lt;/del&gt;&lt;/a&gt; is complete, we will be in the following situation:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;internalQueryForceClassicEngine&lt;/tt&gt; will default to false. This means that SBE is enabled in pretty much all build variants. However, only queries involving $lookup/$group pushdown will actually use SBE. All others will fall back to the classic engine.&lt;/li&gt;
	&lt;li&gt;There is a special build variant that tests the system with&#160;&lt;tt&gt;internalQueryForceClassicEngine&lt;/tt&gt; set to true. This is important to ensure that everything continues to work even if SBE is forced off entirely.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This leaves us with the following problem: We have lost test coverage for a wide swath of queries that were formerly eligible to run in SBE, but have been made ineligible as part of ensuring 6.0 release readiness. We need to restore this test coverage, both for correctness and performance. I propose the following:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Introduce a new feature flag called something like &lt;tt&gt;featureFlagSbeAdditionalScenarios&lt;/tt&gt;. Maybe someone can come up with a better name. Like feature flags in general, it will be false by default but switched on auto-magically in the &quot;all feature flags&quot; correctness and performance builders.&lt;/li&gt;
	&lt;li&gt;If this feature flag is on, then we use SBE for the same kinds of queries that were formerly using SBE in the 5.1.x, 5.2.x, and 5.3.x releases. This means that most find commands will use SBE, unless they fall into a handful of special cases (an unsupported expression, oplog queries, positional path components, etc.).&lt;/li&gt;
	&lt;li&gt;The &lt;tt&gt;internalQueryForceClassicEngine&lt;/tt&gt; should override &lt;tt&gt;featureFlagSbeAdditionalScenarios&lt;/tt&gt;. That is, when &lt;tt&gt;internalQueryForceClassicEngine&lt;/tt&gt; is enabled, SBE should be completed forced off and the value of &lt;tt&gt;featureFlagSbeAdditionalScenarios&lt;/tt&gt; is irrelevant.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Reiterating the decision logic by which we decide whether or not to use SBE: If &lt;tt&gt;internalQueryForceClassicEngine&lt;/tt&gt; is on, use the classic engine. Otherwise, if the query is inherently SBE ineligible, use the classic engine. Otherwise, if &lt;tt&gt;featureFlagSbeAdditionalScenarios&lt;/tt&gt; is false and $lookup/$group are not being pushed down, use the classic engine. Otherwise use SBE.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2053248">SERVER-66702</key>
            <summary>Re-introduce SBE feature flag</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="3">Duplicate</resolution>
                                        <assignee username="backlog-query-execution">Backlog - Query Execution</assignee>
                                    <reporter username="david.storch@mongodb.com">David Storch</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 May 2022 20:29:14 +0000</created>
                <updated>Tue, 6 Dec 2022 00:05:27 +0000</updated>
                            <resolved>Fri, 27 May 2022 18:49:13 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>12</watches>
                                                                                                                <comments>
                            <comment id="4578666" author="david.storch" created="Fri, 27 May 2022 18:48:30 +0000"  >&lt;p&gt;This work ended up being done as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-66583&quot; title=&quot;Re-enable SBE as the default engine, falling back to classic unless $lookup or $group are pushed down&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-66583&quot;&gt;&lt;del&gt;SERVER-66583&lt;/del&gt;&lt;/a&gt; so I&apos;m closing this ticket as a duplicate. We used the name &lt;tt&gt;featureFlagSbeFull&lt;/tt&gt;. So by default in the master branch, SBE is on in limited scenarios. In the &quot;all feature flags&quot; configurations, it is enabled for almost all find operations. And there is once again a builder specific to the classic engine that forces SBE completely off.&lt;/p&gt;

&lt;p&gt;CC &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mihai.andrei%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;mihai.andrei@mongodb.com&quot;&gt;mihai.andrei@mongodb.com&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="2050662">SERVER-66583</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_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_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 36 weeks, 5 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_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.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 36 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-query-execution</customfieldvalue>
            <customfieldvalue>david.storch@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0vyyf:</customfieldvalue>

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

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