<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:25:23 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>[DRIVERS-2367] Allow RewrapManyDataKeyResult.bulkWriteResult to be optional</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2367</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #fafbfc;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #fafbfc;&quot;&gt;
&lt;h3&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Change the specification of &lt;tt&gt;RewrapManyDataKeyResult.bulkWriteResult&lt;/tt&gt; from &lt;tt&gt;BulkWriteResult&lt;/tt&gt; to &lt;tt&gt;Optional&amp;lt;BulkWriteResult&amp;gt;&lt;/tt&gt;. Update corresponding unified test files to avoid unnecessarily matching &lt;tt&gt;bulkWriteResult&lt;/tt&gt; against an empty document.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/h3&gt;
&lt;h4&gt;&lt;a name=&quot;Whoistheaffectedenduser%3F&quot;&gt;&lt;/a&gt;Who is the affected end user?&lt;/h4&gt;

&lt;p&gt;Drivers implementing &lt;tt&gt;ClientEncryption.rewrapManyDataKey()&lt;/tt&gt; and testing against the corresponding unified spec tests.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Howdoesthisaffecttheenduser%3F&quot;&gt;&lt;/a&gt;How does this affect the end user?&lt;/h4&gt;

&lt;p&gt;The Client Side Encryption spec &lt;a href=&quot;https://github.com/mongodb/specifications/blob/e3a59909621afa5d8b7795c19a0ba204f6b20b13/source/client-side-encryption/client-side-encryption.rst#rewrapmanydatakeyresult&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;currently defines&lt;/a&gt; the &lt;tt&gt;RewrapManyDataKeyResult.bulkWriteResult&lt;/tt&gt; field as a &lt;tt&gt;BulkWriteResult&lt;/tt&gt;. This is causing some confusion regarding what the value of &lt;tt&gt;bulkWriteResult&lt;/tt&gt; should be provided &lt;tt&gt;ClientEncryption.rewrapManyDataKey()&lt;/tt&gt; does not issue an unnecessary bulk write command due to &lt;a href=&quot;https://github.com/mongodb/specifications/blob/e3a59909621afa5d8b7795c19a0ba204f6b20b13/source/client-side-encryption/tests/unified/rewrapManyDataKey.yml#L92&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;no matching key documents to rewrap&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Howlikelyisitthatthisproblemorusecasewilloccur%3F&quot;&gt;&lt;/a&gt;How likely is it that this problem or use case will occur?&lt;/h4&gt;

&lt;p&gt;Users that have already implemented &lt;tt&gt;ClientEncryption.rewrapManyDataKey()&lt;/tt&gt; and &lt;tt&gt;RewrapManyDataKeyResult&lt;/tt&gt; may have to update their implementations to allow for the &lt;tt&gt;bulkWriteResult&lt;/tt&gt; field to be optional.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Iftheproblemdoesoccur%2Cwhataretheconsequencesandhowseverearethey%3F&quot;&gt;&lt;/a&gt;If the problem does occur, what are the consequences and how severe are they?&lt;/h4&gt;

&lt;p&gt;If this change is not applied, Drivers may end up with discrepancies in interpretation and implementation of the behavior of &lt;tt&gt;rewrapManyDataKey()&lt;/tt&gt; given the case where there are no matching key documents, thus no well-defined value for &lt;tt&gt;bulkWriteResult&lt;/tt&gt;&#160;(an empty document may not be consistent or appropriate across all Drivers).&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisissueurgent%3F&quot;&gt;&lt;/a&gt;Is this issue urgent?&lt;/h4&gt;

&lt;p&gt;No.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisticketrequiredbyadownstreamteam%3F&quot;&gt;&lt;/a&gt;Is this ticket required by a downstream team?&lt;/h4&gt;

&lt;p&gt;No.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisticketonlyfortests%3F&quot;&gt;&lt;/a&gt;Is this ticket only for tests?&lt;/h4&gt;

&lt;p&gt;No. This may require changes to the implementation of &lt;tt&gt;RewrapManyDataKeyResult&lt;/tt&gt; and corresponding operations that depend on it.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="2075342">DRIVERS-2367</key>
            <summary>Allow RewrapManyDataKeyResult.bulkWriteResult to be optional</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</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="9">Done</resolution>
                                        <assignee username="ezra.chung@mongodb.com">Ezra Chung</assignee>
                                    <reporter username="ezra.chung@mongodb.com">Ezra Chung</reporter>
                        <labels>
                    </labels>
                <created>Thu, 23 Jun 2022 16:40:17 +0000</created>
                <updated>Fri, 7 Apr 2023 18:53:08 +0000</updated>
                            <resolved>Fri, 7 Apr 2023 18:53:08 +0000</resolved>
                                                        <component>Client Side Encryption</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4636504" author="xgen-internal-githook" created="Thu, 23 Jun 2022 19:59:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Ezra Chung&apos;, &apos;email&apos;: &apos;88335979+eramongodb@users.noreply.github.com&apos;, &apos;username&apos;: &apos;eramongodb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2367&quot; title=&quot;Allow RewrapManyDataKeyResult.bulkWriteResult to be optional&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2367&quot;&gt;&lt;del&gt;DRIVERS-2367&lt;/del&gt;&lt;/a&gt; Allow RewrapManyDataKeyResult.bulkWriteResult to be optional (#1259)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/68d1095ef710ba294894474f7b8f3297c21b86f6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/68d1095ef710ba294894474f7b8f3297c21b86f6&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="2075374">CDRIVER-4415</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075376">CSHARP-4228</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075375">CXX-2534</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075377">GODRIVER-2470</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075378">JAVA-4659</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075380">MOTOR-986</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075379">NODE-4332</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075382">PHPC-2126</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075381">PYTHON-3314</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075383">RUBY-3034</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075384">RUST-1376</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1897788">DRIVERS-1951</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1958125">DRIVERS-2017</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <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>&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;RewrapManyDataKeyResult.bulkWriteResult&lt;/tt&gt; must be made an optional field that is unset if no bulk write operation is executed by &lt;tt&gt;ClientEncryption.rewrapManyDataKey()&lt;/tt&gt;&#160;due to no matching keys.&lt;/li&gt;
	&lt;li&gt;Sync CSE unified test files with &lt;a href=&quot;https://github.com/mongodb/specifications/commit/68d1095ef710ba294894474f7b8f3297c21b86f6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;68d1095e&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #scriptField, #scriptField *{
                border: 1px solid black;
            }

            #scriptField{
                border-collapse: collapse;
            }

            #scriptField td {
                text-align: center; /* Center-align text in table cells */
            }

            #scriptField td.key {
                text-align: left; /* Left-align text in the Key column */
            }

            #scriptField a {
                text-decoration: none; /* Remove underlines from links */
                border: none; /* Remove border from links */
            }
            
            /* Add green background color to cells with FixVersion */
            #scriptField td.hasFixVersion {
                background-color: #00FF00; /* Green color code */
            }

            /* Center-align the first row headers */
            #scriptField th {
                text-align: center;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CDRIVER-4415'>CDRIVER-4415</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.22.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-2534'>CXX-2534</a>
    </td>
    <td>Done</td>
    <td class='hasFixVersion'>3.8.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-4228'>CSHARP-4228</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.17.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-2470'>GODRIVER-2470</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-4659'>JAVA-4659</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-4332'>NODE-4332</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-986'>MOTOR-986</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-3314'>PYTHON-3314</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPC-2126'>PHPC-2126</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.15.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-3034'>RUBY-3034</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.18.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1376'>RUST-1376</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-1590'>SWIFT-1590</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DRIVERS-1951</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY23Q2</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0iluo:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>