<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:16:58 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-3035] Always allow bulk OP_INSERTs to accommodate unacknowledged write concerns</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-3035</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Original description: mongoc_collection_insert_many() does not batch legacy inserts for unacknowledged write concerns&lt;/p&gt;

&lt;p&gt;While investigating &lt;a href=&quot;https://jira.mongodb.org/browse/PHPC-1351&quot; title=&quot;executeBulkWrite() does not use bulk OP_INSERT when w=0&quot; class=&quot;issue-link&quot; data-issue-key=&quot;PHPC-1351&quot;&gt;&lt;del&gt;PHPC-1351&lt;/del&gt;&lt;/a&gt; and other places where &lt;tt&gt;allow_bulk_op_insert&lt;/tt&gt; was set, I came across the three collection-level insert methods. &lt;tt&gt;mongoc_collection_insert_bulk()&lt;/tt&gt; (since deprecated) always allows bulk inserts when calling &lt;tt&gt;_mongoc_write_command_init_insert()&lt;/tt&gt;, but &lt;tt&gt;mongoc_collection_insert_one()&lt;/tt&gt; and &lt;tt&gt;mongoc_collection_insert_many()&lt;/tt&gt; never allow bulk inserts. This isn&apos;t a problem for the insert-one case, but it appears that &lt;tt&gt;mongoc_collection_insert_many()&lt;/tt&gt; may not batch inserts for unacknowledged write concerns when connected to MongoDB versions before 3.6.&lt;/p&gt;

&lt;p&gt;I quickly tested this by modifying &lt;tt&gt;example-command-monitoring.c&lt;/tt&gt; to connect to a MongoDB 3.4 server using &lt;tt&gt;w=0&lt;/tt&gt;. Running the example file shows that three insert commands are issued when I would expect two.&lt;/p&gt;</description>
                <environment>MongoDB 3.4 and earlier</environment>
        <key id="721161">CDRIVER-3035</key>
            <summary>Always allow bulk OP_INSERTs to accommodate unacknowledged write concerns</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="13201">Fixed</resolution>
                                        <assignee username="jmikola@mongodb.com">Jeremy Mikola</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Mar 2019 16:04:22 +0000</created>
                <updated>Sat, 28 Oct 2023 11:29:21 +0000</updated>
                            <resolved>Thu, 7 Nov 2019 19:58:45 +0000</resolved>
                                                    <fixVersion>1.16.0</fixVersion>
                                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="2523079" author="xgen-internal-githook" created="Thu, 7 Nov 2019 19:58:02 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeremy Mikola&apos;, &apos;username&apos;: &apos;jmikola&apos;, &apos;email&apos;: &apos;jmikola@gmail.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3035&quot; title=&quot;Always allow bulk OP_INSERTs to accommodate unacknowledged write concerns&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3035&quot;&gt;&lt;del&gt;CDRIVER-3035&lt;/del&gt;&lt;/a&gt; allow bulk OP_INSERT for w:0 insert_many&lt;/p&gt;

&lt;p&gt;Since libmongoc requires MongoDB 3.0+, OP_INSERT is only used for w:0&lt;br/&gt;
writes. The allow_bulk_op_insert flag is removed since there is no need&lt;br/&gt;
to limit OP_INSERT to single inserts.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/8c5da424138c0ccf38ad241645b2d4a13e6cb2cb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/8c5da424138c0ccf38ad241645b2d4a13e6cb2cb&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2514873" author="jmikola@gmail.com" created="Fri, 1 Nov 2019 20:34:18 +0000"  >&lt;p&gt;Note: &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/129be86c225823f9299f302bcb2c1631fb019f4e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;129be86&lt;/a&gt; removed write concern args for legacy write methods, since &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2243&quot; title=&quot;Drop support for MongoDB 2.4&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2243&quot;&gt;&lt;del&gt;CDRIVER-2243&lt;/del&gt;&lt;/a&gt; dropped support for MongoDB 2.4 and acknowledged writes could always use commands.&lt;/p&gt;

&lt;p&gt;This supports removing &lt;tt&gt;allow_bulk_op_insert&lt;/tt&gt; entirely, since libmongoc 1.9.0+ already assumes that these legacy write methods are only used for unacknowledged writes.&lt;/p&gt;</comment>
                            <comment id="2202123" author="jmikola@gmail.com" created="Thu, 4 Apr 2019 16:26:50 +0000"  >&lt;p&gt;Repurposing this ticket per &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kevin.albertson&quot; class=&quot;user-hover&quot; rel=&quot;kevin.albertson&quot;&gt;kevin.albertson&lt;/a&gt;&apos;s comment in &lt;a href=&quot;https://jira.mongodb.org/browse/PHPC-1351?focusedCommentId=2188686&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-2188686&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;PHPC-1351&lt;/a&gt;: If we can assume that legacy write operations are only applicable to w:0 writes, than we can remove allow_bulk_op_insert, and any other logic for acknowledged legacy write operations altogether. That seems more desirable.&lt;/p&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="720762">PHPC-1351</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="517604">CDRIVER-2573</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|htrnjz:</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>