<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:14:36 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-2237] Server not invalidated in topology if command fails</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-2237</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;In mongoc_cluster_run_command_internal, and possibly in _mongoc_cluster_stream_for_server, we call mongoc_cluster_disconnect_node if we get a network error, but we don&apos;t always call mongoc_topology_invalidate_server, so we can continue to do failing operations on the same server without first re-scanning the topology.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#error-handling&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Server Discovery and Monitoring spec says&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If there is a network timeout on the connection after the handshake completes, the client MUST NOT mark the server Unknown. (A timeout may indicate a slow operation on the server, rather than an unavailable server.) If, however, there is some other network error on the connection after the handshake completes, the client MUST replace the server&apos;s description with a default ServerDescription of type Unknown, and fill the ServerDescription&apos;s error field with useful information, the same as if an error or timeout occurred before the handshake completed.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Audit all mongoc_cluster_disconnect_node calls and check if they properly call mongoc_topology_invalidate_server after &lt;b&gt;non-timeout&lt;/b&gt; network errors. Consider a refactoring to make this mistake less likely. Perhaps add a bool to mongoc_cluster_disconnect_node to tell it to call mongoc_topology_invalidate_server.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="413992">CDRIVER-2237</key>
            <summary>Server not invalidated in topology if command fails</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="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="patrick.freed@mongodb.com">Patrick Freed</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Aug 2017 17:52:12 +0000</created>
                <updated>Sat, 28 Oct 2023 11:30:32 +0000</updated>
                            <resolved>Fri, 25 Aug 2017 22:25:03 +0000</resolved>
                                                    <fixVersion>1.8.0</fixVersion>
                                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1670906" author="ramon.fernandez" created="Tue, 12 Sep 2017 18:32:51 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: u&apos;ajdavis&apos;, &apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, &apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message:&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2237&quot; title=&quot;Server not invalidated in topology if command fails&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2237&quot;&gt;&lt;del&gt;CDRIVER-2237&lt;/del&gt;&lt;/a&gt; distinguish network timeout and error&lt;br/&gt;
Branch:master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/e66b022948a4ada936628e75a662daf6c913c22e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/e66b022948a4ada936628e75a662daf6c913c22e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1657713" author="xgen-internal-githook" created="Fri, 25 Aug 2017 22:25:21 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;jesse@mongodb.com&apos;, &apos;name&apos;: &apos;A. Jesse Jiryu Davis&apos;, &apos;username&apos;: &apos;ajdavis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2237&quot; title=&quot;Server not invalidated in topology if command fails&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2237&quot;&gt;&lt;del&gt;CDRIVER-2237&lt;/del&gt;&lt;/a&gt; re-check servers after network errors&lt;/p&gt;

&lt;p&gt;Obeying the Server Discovery and Monitoring Spec, mark a server Unknown&lt;br/&gt;
after any network besides a timeout, re-check the server before using it&lt;br/&gt;
again.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/74600b68eb7c6293c962eab752e114f4d69446db&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/74600b68eb7c6293c962eab752e114f4d69446db&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="408698">CXX-1409</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="415568">CXX-1420</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="389643">CDRIVER-2174</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|ht4bqv:</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>