<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:12:32 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>[DOCS-15305] [Server] Investigate changes in SERVER-64911: Ban comparisons to encrypted fields in collection validator and partialFilterExpression</title>
                <link>https://jira.mongodb.org/browse/DOCS-15305</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>    &lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;background-color: #239eb0;&quot;&gt;&lt;b&gt;Original Downstream Change Summary&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;    This patch affects the create and collMod commands, which can contain validators, and the createIndexes command, which can contain partialFilterExpressions for each index. &lt;/p&gt;

&lt;p&gt;The limitations on partialFilterExpressions are pretty straightforward, but the limitations on validators need to have a few special cases because validators can be used to designate encrypted fields in a collection when using FLE1 with JSON schemas, but $jsonSchema is not supported in query analysis.&lt;/p&gt;

&lt;p&gt;For FLE 1, any validator provided that includes $jsonSchema must match the schema in the schema map exactly. This means that running collMod with a validator cannot extend the schema to add new encrypted fields, or new unencrypted fields.&lt;/p&gt;

&lt;p&gt;For FLE 2, a $jsonSchema that references an encrypted field will always result in a query analysis error because $jsonSchema is not supported in query analysis. Server-side behavior that adds validation for the binData of encrypted fields still works, because query analysis does not run on the server-side.&lt;/p&gt;

&lt;p&gt;Since the server codebase does not contain driver code but instead makes use of implicit encryption in the legacy shell in integration tests, drivers should make sure to write an integration test to confirm that schemas in the schemaMap are properly sent to query analysis along with create, collMod, and createIndexes commands. This has some implications for collMod with FLE1 specifically, for the reason mentioned above.&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;DescriptionofLinkedTicket&quot;&gt;&lt;/a&gt;Description of Linked Ticket&lt;/h2&gt;
&lt;p&gt;    Both the collection creation command and createIndex command &lt;a href=&quot;https://github.com/mongodb/libmongocrypt/blob/8eeeee95d30f577376fe3682ddd26dcd458ed54d/src/mongocrypt-ctx-encrypt.c#L741-L745&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;bypass query analysis&lt;/a&gt;, however they contain match expressions which may refer to encrypted fields. &lt;/p&gt;
</description>
                <environment></environment>
        <key id="2038289">DOCS-15305</key>
            <summary>[Server] Investigate changes in SERVER-64911: Ban comparisons to encrypted fields in collection validator and partialFilterExpression</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="10045" iconUrl="https://jira.mongodb.org/images/icons/statuses/generic.png" description="">Ready for Work</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                            <label>query</label>
                    </labels>
                <created>Tue, 3 May 2022 12:53:08 +0000</created>
                <updated>Tue, 29 Aug 2023 16:27:49 +0000</updated>
                                                            <fixVersion>6.1.0-rc0</fixVersion>
                    <fixVersion>6.0.0-rc5</fixVersion>
                                    <component>manual</component>
                    <component>Server</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4536784" author="edu.bot" created="Mon, 9 May 2022 21:39:33 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-64911&quot; title=&quot;Ban comparisons to encrypted fields in collection validator and partialFilterExpression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-64911&quot;&gt;&lt;del&gt;SERVER-64911&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
6.1.0-rc0, 6.0.0-rc5&lt;/p&gt;</comment>
                            <comment id="4523502" author="edu.bot" created="Tue, 3 May 2022 18:50:49 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-64911&quot; title=&quot;Ban comparisons to encrypted fields in collection validator and partialFilterExpression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-64911&quot;&gt;&lt;del&gt;SERVER-64911&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
6.1.0-rc0, 6.0 Required&lt;/p&gt;</comment>
                            <comment id="4523496" author="edu.bot" created="Tue, 3 May 2022 18:50:00 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-64911&quot; title=&quot;Ban comparisons to encrypted fields in collection validator and partialFilterExpression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-64911&quot;&gt;&lt;del&gt;SERVER-64911&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
6.1.0-rc0&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                            <outwardlinks description="documents">
                                        <issuelink>
            <issuekey id="2008594">SERVER-64911</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>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 3 May 2022 18:50:00 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 39 weeks, 2 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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>This patch affects the create and collMod commands, which can contain validators, and the createIndexes command, which can contain partialFilterExpressions for each index. &lt;br/&gt;
&lt;br/&gt;
The limitations on partialFilterExpressions are pretty straightforward, but the limitations on validators need to have a few special cases because validators can be used to designate encrypted fields in a collection when using FLE1 with JSON schemas, but $jsonSchema is not supported in query analysis.&lt;br/&gt;
&lt;br/&gt;
For FLE 1, any validator provided that includes $jsonSchema must match the schema in the schema map exactly. This means that running collMod with a validator cannot extend the schema to add new encrypted fields, or new unencrypted fields.&lt;br/&gt;
&lt;br/&gt;
For FLE 2, a $jsonSchema that references an encrypted field will always result in a query analysis error because $jsonSchema is not supported in query analysis. Server-side behavior that adds validation for the binData of encrypted fields still works, because query analysis does not run on the server-side.&lt;br/&gt;
&lt;br/&gt;
Since the server codebase does not contain driver code but instead makes use of implicit encryption in the legacy shell in integration tests, drivers should make sure to write an integration test to confirm that schemas in the schemaMap are properly sent to query analysis along with create, collMod, and createIndexes commands. This has some implications for collMod with FLE1 specifically, for the reason mentioned above.</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>false</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>emet.ozar@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 39 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-pm</customfieldvalue>
            <customfieldvalue>edu.bot</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0tg2n:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0cdcw:</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_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0t27z:</customfieldvalue>

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