<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:21:34 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>[CDRIVER-4665] Client assertions in opts validation breaks existing usage for bulk API</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-4665</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4255&quot; title=&quot;Add assertions for non-null client and pool parameters&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4255&quot;&gt;&lt;del&gt;CDRIVER-4255&lt;/del&gt;&lt;/a&gt; added assertions for &lt;tt&gt;client&lt;/tt&gt; and &lt;tt&gt;pool&lt;/tt&gt; parameters throughout libmongoc, which subtly broke the PHP driver&apos;s use of bulk operations.&lt;/p&gt;

&lt;p&gt;The PHP driver allows construction of a &lt;a href=&quot;https://www.php.net/manual/en/class.mongodb-driver-bulkwrite.php&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;BulkWrite&lt;/a&gt; object independent of a client. This uses &lt;tt&gt;mongoc_bulk_operation_new&lt;/tt&gt; instead of &lt;tt&gt;mongoc_collection_create_bulk_operation_with_opts&lt;/tt&gt;. Applications then append insert, update, and delete operations to this object. At execution time, the BulkWrite object is passed to a client method (e.g. &lt;a href=&quot;https://www.php.net/manual/en/mongodb-driver-manager.executebulkwrite.php&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Manager::executeBulkWrite()&lt;/a&gt;), which calls &lt;tt&gt;mongoc_bulk_operation_set_client&lt;/tt&gt; to assign the appropriate client.&lt;/p&gt;

&lt;p&gt;The problematic addition in &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4255&quot; title=&quot;Add assertions for non-null client and pool parameters&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4255&quot;&gt;&lt;del&gt;CDRIVER-4255&lt;/del&gt;&lt;/a&gt; was &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/ce7468863b9a9ef13d155f0d6f1517adf011aa66#diff-2593e99dd613a0177a851abaada5180dd1d5a992add7243ef4a7289e671b63baR22&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;adding assertions to mongoc-opts.c.template&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2373017">CDRIVER-4665</key>
            <summary>Client assertions in opts validation breaks existing usage for bulk API</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="13201">Fixed</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Jun 2023 19:40:44 +0000</created>
                <updated>Thu, 1 Feb 2024 17:43:23 +0000</updated>
                            <resolved>Wed, 21 Jun 2023 12:28:27 +0000</resolved>
                                    <version>1.24.0</version>
                                    <fixVersion>1.24.1</fixVersion>
                                    <component>Bulk API</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5514962" author="xgen-internal-githook" created="Wed, 21 Jun 2023 12:28:12 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@mongodb.com&apos;, &apos;username&apos;: &apos;kevinAlbs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4665&quot; title=&quot;Client assertions in opts validation breaks existing usage for bulk API&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4665&quot;&gt;&lt;del&gt;CDRIVER-4665&lt;/del&gt;&lt;/a&gt; do not assert `client` in option parsing (#1314)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4665&quot; title=&quot;Client assertions in opts validation breaks existing usage for bulk API&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4665&quot;&gt;&lt;del&gt;CDRIVER-4665&lt;/del&gt;&lt;/a&gt; do not assert `client` in option parsing&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;do not use `_id`&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Avoids a duplicate key error in tests&lt;br/&gt;
Branch: r1.24&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/9cfe088a128311adef7f4a54ce94114a5ea4eb22&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/9cfe088a128311adef7f4a54ce94114a5ea4eb22&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5513982" author="xgen-internal-githook" created="Tue, 20 Jun 2023 22:10:03 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@mongodb.com&apos;, &apos;username&apos;: &apos;kevinAlbs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4665&quot; title=&quot;Client assertions in opts validation breaks existing usage for bulk API&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4665&quot;&gt;&lt;del&gt;CDRIVER-4665&lt;/del&gt;&lt;/a&gt; do not assert `client` in option parsing (#1314)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4665&quot; title=&quot;Client assertions in opts validation breaks existing usage for bulk API&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4665&quot;&gt;&lt;del&gt;CDRIVER-4665&lt;/del&gt;&lt;/a&gt; do not assert `client` in option parsing&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;do not use `_id`&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Avoids a duplicate key error in tests&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/34ed4ec1b199f75f1481a2c2bae26a819860f548&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/34ed4ec1b199f75f1481a2c2bae26a819860f548&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="2372436">PHPC-2250</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                                                <inwardlinks description="is caused by">
                                        <issuelink>
            <issuekey id="1956991">CDRIVER-4255</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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1wvo8:</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>