<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:12:43 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-1492] Correct handling of Bulk Retry</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-1492</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;With the major Driver refactoring for 3.2, most of the drivers seem to have decoupled the list of operations in a bulk operation from the function performing them. This means if a bulk op fails you can resubmit it, this is important in handling replica set elections.&lt;/p&gt;

&lt;p&gt;Python, PHP, Java and Javascript all follow this pattern.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But the C driver appears not to have this part implemented yet and uses the older pattern of creating a BulkOperation &apos;object&apos; and adding things to it - the problem with that is that according to the docs, you cannot re-submit a failed operation, So if it fails because there was no primary, or because the primary failed part way through - you cannot simply wait,  resubmit and ignore duplicate _id&apos;s&lt;/p&gt;

&lt;p&gt;What is the correct form for handling bulk insert operations ( or idempotent bulk updates, or deletes) during failover when using the C driver?&lt;/p&gt;
</description>
                <environment></environment>
        <key id="312018">CDRIVER-1492</key>
            <summary>Correct handling of Bulk Retry</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="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="-1">Unassigned</assignee>
                                    <reporter username="john.page@mongodb.com">John Page</reporter>
                        <labels>
                    </labels>
                <created>Fri, 26 Aug 2016 12:07:29 +0000</created>
                <updated>Wed, 11 Sep 2019 19:05:16 +0000</updated>
                            <resolved>Fri, 26 Aug 2016 12:46:56 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="1368924" author="jesse" created="Fri, 26 Aug 2016 12:46:42 +0000"  >&lt;p&gt;Right, since we&apos;re not necessarily planning to implement the same CRUD API as the other drivers (&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-637&quot; title=&quot;Implement CRUD API spec&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-637&quot;&gt;&lt;del&gt;CDRIVER-637&lt;/del&gt;&lt;/a&gt;), retrying idempotent operations has to be done differently in the C Driver. You&apos;ll need to create a new mongoc_bulk_operation_t. Retry the sequence of operations beginning with mongoc_collection_create_bulk_operation through mongoc_bulk_operation_execute.&lt;/p&gt;</comment>
                    </comments>
                    <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|hsp4lj:</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>