<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:35:54 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>[CSHARP-135] MongoCommandException doesn&apos;t contain sufficient information to understand what happened</title>
                <link>https://jira.mongodb.org/browse/CSHARP-135</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;When a MongoCommandException exception is thrown the code that reports it discards the &apos;assertion&apos; and &apos;assertion code&apos; from the results object.  These typically contain the actual reason for the problem.&lt;/p&gt;

&lt;p&gt;Suggestions:-&lt;/p&gt;

&lt;p&gt;1) Maybe the ErrorMessage property of the CommandResult class should be changed to be a concatenation of the errmsg, assertion code, and assertion properties as the error message itself is fairly useless&lt;/p&gt;

&lt;p&gt;2) The RunCommandAs method should be changed to use the existing constructor for MongoCommandException that puts the result object into the .Data property of the exception.  (Most developers however aren&apos;t familiar with Exception.Data and might miss this)&lt;/p&gt;

&lt;p&gt;3) if not #1 then at least the RunCommandAs should concatenate the strings when it creates an exception message.&lt;/p&gt;

&lt;p&gt;        public TCommandResult RunCommandAs&amp;lt;TCommandResult&amp;gt;(&lt;br/&gt;
            IMongoCommand command&lt;br/&gt;
        ) where TCommandResult : CommandResult {&lt;br/&gt;
            var result = CommandCollection.FindOneAs&amp;lt;TCommandResult&amp;gt;(command);&lt;br/&gt;
            if (!result.Ok) {&lt;br/&gt;
                if (result.ErrorMessage == &quot;not master&quot;) &lt;/p&gt;
{
                    server.Disconnect();
                }
&lt;p&gt;                string errorMessage = string.Format(&quot;Command failed: &lt;/p&gt;
{0}
&lt;p&gt;&quot;, string.Join(&quot; &quot;, result.Select(x =&amp;gt; x.ToString()).ToArray());  // a simple dump of the result enumeration&lt;br/&gt;
                throw new MongoCommandException(errorMessage, result);&lt;br/&gt;
            }&lt;br/&gt;
            return result;&lt;br/&gt;
        }&lt;/p&gt;</description>
                <environment>Win 7</environment>
        <key id="13956">CSHARP-135</key>
            <summary>MongoCommandException doesn&apos;t contain sufficient information to understand what happened</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="robert@mongodb.com">Robert Stam</assignee>
                                    <reporter username="ianmercer">Ian Mercer</reporter>
                        <labels>
                    </labels>
                <created>Tue, 14 Dec 2010 06:09:05 +0000</created>
                <updated>Thu, 2 Apr 2015 18:27:53 +0000</updated>
                            <resolved>Tue, 14 Dec 2010 18:16:09 +0000</resolved>
                                    <version>0.9</version>
                                    <fixVersion>1.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="21413" author="rstam" created="Tue, 14 Dec 2010 18:16:09 +0000"  >&lt;p&gt;Implemented more or less as suggested. The additional information in the error message includes the command response in JSON format. Also added a CommandResult property to MongoCommandException so it&apos;s not buried in the little known Data property. The MongoCommandResult class now includes the original Command object which is helpful when troubleshooting command failures.&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|hrh9hj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>14336</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>