<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:02:56 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>[SERVER-3387] getLastErrorDetailed does not report an error</title>
                <link>https://jira.mongodb.org/browse/SERVER-3387</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Request:&lt;br/&gt;
{ &quot;findAndModify&quot; : &quot;points&quot;, &quot;query&quot; : &lt;/p&gt;
{ &quot;_id&quot; : &quot;b91bb726-fe07-5c37-92e7-56077fbc2b36&quot;, &quot;version&quot; : 0 }
&lt;p&gt;, &quot;update&quot; : { &quot;$set&quot; : &lt;/p&gt;
{ &amp;lt; SOME FIELDS HERE &amp;gt; }
&lt;p&gt; }, &quot;new&quot; : true, &quot;upsert&quot; : false }&lt;br/&gt;
Result:&lt;/p&gt;
{ &quot;errmsg&quot; : &quot;No matching object found&quot;, &quot;ok&quot; : 0 }
&lt;p&gt;As far as mongo C++ driver does not throw exceptions and every command has it&apos;s own way to report errors I prefer to use getLastErrorDetailed() where possible. But unfortunately it reports that there was no error:&lt;/p&gt;
{ &quot;n&quot; : 0, &quot;connectionId&quot; : 88, &quot;err&quot; : null, &quot;ok&quot; : 1 }

&lt;p&gt;Please, make C++ driver to report error is only one way. It would especially good if it would be exceptions. I&apos;m really frustrated to find out that one part of my application has crashed with very strange error because there is another one way to report error which my magic checker does not know about.&lt;/p&gt;</description>
                <environment>linux, ubuntu lucyd.</environment>
        <key id="19222">SERVER-3387</key>
            <summary>getLastErrorDetailed does not report an error</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.mongodb.org/images/icons/priorities/critical.svg">Critical - P2</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="kibergus">Alexey Guseynov</reporter>
                        <labels>
                    </labels>
                <created>Thu, 7 Jul 2011 12:23:06 +0000</created>
                <updated>Mon, 29 Aug 2011 15:56:55 +0000</updated>
                            <resolved>Thu, 7 Jul 2011 12:55:51 +0000</resolved>
                                    <version>1.8.1</version>
                                                    <component>Internal Client</component>
                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="41099" author="eliot" created="Thu, 7 Jul 2011 14:43:29 +0000"  >&lt;p&gt;I was thinking of this command for running findAndModify&lt;br/&gt;
        virtual bool runCommand(const string &amp;amp;dbname, const BSONObj&amp;amp; cmd, BSONObj &amp;amp;info, int options=0);&lt;/p&gt;

&lt;p&gt;Updated the docs for getLastError&lt;/p&gt;</comment>
                            <comment id="41073" author="kibergus" created="Thu, 7 Jul 2011 13:18:45 +0000"  >&lt;p&gt;&amp;gt; For commands (findAndModify etc...) the method returns true or false if succeeded or not.&lt;br/&gt;
&amp;gt; That is the correct thing to do for those. &lt;/p&gt;

&lt;p&gt;Actually, it does not return true or false. It returns BSON object which has double precision flag. It is if you would try to check it for beeng true or false you would get &quot;wrong BSON type&quot; exception.&lt;/p&gt;

&lt;p&gt;&amp;gt; The only things you need getLastError for are insert/update/delete. &lt;/p&gt;

&lt;p&gt;Both 1.9.0 and 1.8.1 API documentation say:&lt;br/&gt;
Get error result from the last operation on this connection.&lt;/p&gt;

&lt;p&gt;So I does not work as designed. Please reopen the bugreport or change documentation to reflect that sometimes getLastError returns last error and sometimes it doesn&apos;t.&lt;/p&gt;</comment>
                            <comment id="41070" author="eliot" created="Thu, 7 Jul 2011 12:55:51 +0000"  >&lt;p&gt;This is correct for normal mode.&lt;br/&gt;
In safe mode it will throw exceptions for errors.&lt;/p&gt;</comment>
                            <comment id="41069" author="eliot" created="Thu, 7 Jul 2011 12:55:34 +0000"  >&lt;p&gt;For commands (findAndModify etc...) the method returns true or false if succeeded or not.&lt;br/&gt;
That is the correct thing to do for those.&lt;/p&gt;

&lt;p&gt;The only things you need getLastError for are insert/update/delete.&lt;/p&gt;

&lt;p&gt;We&apos;re going a &quot;safe&quot; mode to the driver which will use exceptions:  &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1384&quot; title=&quot;safe mode for  C++ insert method&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1384&quot;&gt;&lt;del&gt;SERVER-1384&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 7 Jul 2011 12:55:34 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        12 years, 32 weeks, 6 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ian@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            12 years, 32 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>kibergus</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrow9z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrirx3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>23176</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|ht0ehz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>