<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:10:13 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-662] Inconsistent errs from CRUD functions</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-662</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Inserting a document larger than 16MB sometimes sets error.domain to MONGOC_ERROR_COMMAND with a legacy insert, sometimes MONGOC_ERROR_QUERY with an insert command. It should always be MONGOC_ERROR_BSON.&lt;/p&gt;

&lt;p&gt;mongoc_collection_insert, insert_bulk, update, and delete sometimes set error.domain to MONGOC_ERROR_COLLECTION, sometimes to MONGOC_ERROR_COMMAND.&lt;/p&gt;</description>
                <environment></environment>
        <key id="204735">CDRIVER-662</key>
            <summary>Inconsistent errs from CRUD functions</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="9">Done</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Mon, 18 May 2015 01:52:39 +0000</created>
                <updated>Wed, 19 Oct 2016 14:15:07 +0000</updated>
                            <resolved>Tue, 18 Oct 2016 20:33:14 +0000</resolved>
                                                    <fixVersion>1.5.0</fixVersion>
                                    <component>Bulk API</component>
                    <component>errors</component>
                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1411969" author="xgen-internal-githook" created="Tue, 18 Oct 2016 20:33:03 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-662&quot; title=&quot;Inconsistent errs from CRUD functions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-662&quot;&gt;&lt;del&gt;CDRIVER-662&lt;/del&gt;&lt;/a&gt; consistent errs from CRUD functions.&lt;/p&gt;

&lt;p&gt;mongoc_collection_insert, mongoc_collection_update, and&lt;br/&gt;
mongoc_collection_remove consistently use domain MONGOC_ERROR_BSON, code&lt;br/&gt;
MONGOC_ERROR_BSON_INVALID if passed oversized BSON, and&lt;br/&gt;
MONGOC_ERROR_COLLECTION for other errors.&lt;/p&gt;

&lt;p&gt;mongoc_bulk_operation_execute continues to use MONGOC_ERROR_COMMAND for&lt;br/&gt;
all errors.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/f36c20c51fe52aac49d962bda0c718bf3b7da064&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/f36c20c51fe52aac49d962bda0c718bf3b7da064&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1409005" author="jesse" created="Fri, 14 Oct 2016 18:39:33 +0000"  >&lt;p&gt;I need to update _mongoc_write_result_merge_legacy and _mongoc_write_result_complete() so they do &lt;b&gt;not&lt;/b&gt; overwrite the mongoc_write_result_t&apos;s error domain once it&apos;s been set by too_large_error().&lt;/p&gt;

&lt;p&gt;The legacy write error path is:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;mongoc_collection_insert&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  _mongoc_write_command_execute&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    _mongoc_write_command_insert_legacy (&amp;amp;result-&amp;gt;error)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;      too_large_error (&amp;amp;result-&amp;gt;error)  // sets ERROR_BSON, 2&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;      _mongoc_write_result_merge_legacy // don&apos;t overwrite result-&amp;gt;error.domain&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  _mongoc_write_result_complete // don&apos;t overwrite result-&amp;gt;error.domain&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;The write command error path is:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;mongoc_collection_insert&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  _mongoc_write_command_execute&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    _mongoc_write_command (&amp;amp;result-&amp;gt;error)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;      too_large_error (&amp;amp;result-&amp;gt;error)  // sets ERROR_BSON, 2&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  _mongoc_write_result_complete // don&apos;t overwrite result-&amp;gt;error.domain&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="1408259" author="jesse" created="Fri, 14 Oct 2016 02:27:13 +0000"  >&lt;p&gt;Here&apos;s a table of (error.domain, error.code) when calling various functions with an oversized document and the current code, 1.5.0-rc2:&lt;/p&gt;

&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;&amp;nbsp;&lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;error api version 1           &lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;error api version 1                   &lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;error api version 2   &lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;error api version 2&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;&amp;nbsp;&lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;server 2.4            &lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;server 3.2    &lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;server 2.4            &lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;server 3.2&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;mongoc_collection_insert	    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_COMMAND, 2	    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_SERVER, 2	    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;mongoc_collection_insert_bulk	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_COMMAND, 2	    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_SERVER, 2	    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;mongoc_collection_update	    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_CLIENT, TOO_BIG	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_CLIENT, TOO_BIG	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;mongoc_collection_remove	    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_CLIENT, TOO_BIG	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_CLIENT, TOO_BIG	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;bulk op	                    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_CLIENT, TOO_BIG	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_CLIENT, TOO_BIG	&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;ERROR_BSON, 2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</comment>
                            <comment id="963882" author="xgen-internal-githook" created="Sat, 11 Jul 2015 16:16:52 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-662&quot; title=&quot;Inconsistent errs from CRUD functions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-662&quot;&gt;&lt;del&gt;CDRIVER-662&lt;/del&gt;&lt;/a&gt; relax error checking in bulk tests&lt;br/&gt;
Branch: 1.2.0-dev&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/94d3c1534a5c226a2310a83012eb7f6e7e486d0d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/94d3c1534a5c226a2310a83012eb7f6e7e486d0d&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="204380">CDRIVER-654</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="203496">CDRIVER-644</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|hremfb:</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>