<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:08: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-67421] Support Multiple Encrypted Index Types on a Single Field</title>
                <link>https://jira.mongodb.org/browse/SERVER-67421</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;Reasoning%2FNeed%3A&quot;&gt;&lt;/a&gt;Reasoning/Need:&lt;/h2&gt;

&lt;p&gt;Now that we&apos;re adding Range, a single field could be associated with multiple encrypted indices&#8211;in particular, both Range and Equality. So, when a field is being analyzed in an FLE2 supported queries context, that field could be associated with a &lt;em&gt;set&lt;/em&gt; of queries. And, thus, every member of that query set should be checked (i.e., confirm that it&apos;s a currently supported type).&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;The critical change begins in resolved_encryption_info.h by changing:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;stdx::variant&amp;lt;FleAlgorithmEnum, Fle2AlgorithmInt&amp;gt; algorithm;&#160;&#160;&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;b&gt;TO:&lt;/b&gt;&lt;/em&gt;&lt;br/&gt;
&lt;tt&gt;stdx::variant&amp;lt;FleAlgorithmEnum, std::set&amp;lt;Fle2AlgorithmInt&amp;gt;&amp;gt; algorithm;&lt;/tt&gt;&lt;br/&gt;
&#160;&lt;br/&gt;
(unless a better type has been determined).&#160;&lt;br/&gt;
&#160;&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;Details%3A&quot;&gt;&lt;/a&gt;Details:&lt;/h2&gt;
&lt;h3&gt;&lt;a name=&quot;Mainfiles%3A&quot;&gt;&lt;/a&gt;Main files:&lt;/h3&gt;

&lt;p&gt;&lt;tt&gt;resolved_encryption_info.cpp &amp;amp; resolved_encryption_info.h (src&amp;gt;mongo&amp;gt;db&amp;gt;modules&amp;gt;enterprise&amp;gt;src&amp;gt;fle&amp;gt;query_analysis)&lt;/tt&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;Notes%3A&quot;&gt;&lt;/a&gt;Notes:&lt;/h3&gt;

&lt;p&gt;Examples of functions that will likely need to be modified (in &lt;tt&gt;resolved_encryption_info.cpp&lt;/tt&gt;):&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;ResolvedEncryptionInfo&lt;/tt&gt; constructor. E.g.,:&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;initialize algorithm as something like &lt;tt&gt;std::set&amp;lt;Fle2AlgorithmInt&amp;gt; algorithm;&lt;/tt&gt;
		&lt;ul&gt;
			&lt;li&gt;would then set to default &lt;tt&gt;kUnindexed&lt;/tt&gt; IF the set is empty before type checking at the end of the constructor&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;instead of &lt;tt&gt;algorithm = Fle2AlgorithmInt::kRange&lt;/tt&gt;, would use something like &lt;tt&gt;algorithm.insert(Fle2AlgorithmInt::kEquality)&lt;/tt&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;algorithmIs(Fle2AlgorithmInt fle2Alg&lt;/tt&gt;)
	&lt;ul&gt;
		&lt;li&gt;instead of the current &lt;tt&gt;get_if&amp;lt;FleAlgorithmEnum&amp;gt;&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;do something like: ...&lt;tt&gt;get_if&amp;lt;std::set&amp;lt;Fle2AlgorithmInt&amp;gt;&amp;gt;&lt;/tt&gt;...&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="2073613">SERVER-67421</key>
            <summary>Support Multiple Encrypted Index Types on a Single Field</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="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-server-security">Backlog - Security Team</assignee>
                                    <reporter username="reilly.mcbride@mongodb.com">Reilly McBride</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 Jun 2022 19:16:29 +0000</created>
                <updated>Mon, 5 Dec 2022 20:20:49 +0000</updated>
                                                                            <component>Queryable Encryption</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="4951766" author="davis.haupt" created="Thu, 3 Nov 2022 13:28:28 +0000"  >&lt;p&gt;Given that, after checking with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=elizabeth.roytburd%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;elizabeth.roytburd@mongodb.com&quot;&gt;elizabeth.roytburd@mongodb.com&lt;/a&gt;, I&apos;ll remove this from PM-2470 and assign it to the Security backlog so that this can be triaged again.&lt;/p&gt;</comment>
                            <comment id="4949889" author="mark.benvenuto" created="Wed, 2 Nov 2022 20:27:45 +0000"  >&lt;p&gt;Yes, we would need to make lot of changes on storage and execution-side to support multiple index types simultaneously for one field. It will get more complicated when you can add and remove index types for a given query.&lt;/p&gt;</comment>
                            <comment id="4949670" author="davis.haupt" created="Wed, 2 Nov 2022 19:36:53 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mark.benvenuto%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;mark.benvenuto@mongodb.com&quot;&gt;mark.benvenuto@mongodb.com&lt;/a&gt;, were you still thinking that this ticket would get promoted to an epic?&lt;/p&gt;</comment>
                            <comment id="4715177" author="davis.haupt" created="Fri, 29 Jul 2022 18:23:01 +0000"  >&lt;p&gt;Comment from &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mark.benvenuto%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;mark.benvenuto@mongodb.com&quot;&gt;mark.benvenuto@mongodb.com&lt;/a&gt; on a PR:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Supporting multiple query types means we need a storage format that supports multiple formats which we do not have support for now. We will have to decide if we should add support for multiple query types now as part of this project into the storage format.&lt;/p&gt;&lt;/blockquote&gt;</comment>
                    </comments>
                    <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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25129"><![CDATA[Server Security]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 29 Jul 2022 18:23:01 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 13 weeks, 6 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, 13 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-security</customfieldvalue>
            <customfieldvalue>davis.haupt@mongodb.com</customfieldvalue>
            <customfieldvalue>mark.benvenuto@mongodb.com</customfieldvalue>
            <customfieldvalue>reilly.mcbride@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0zgfz:</customfieldvalue>

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

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