<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:09:52 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-556] Replica set changes cause a spurious error</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-556</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Due to mongoD immediately dropping connections on a replica reconfig the C driver can report an error when there isn&apos;t one.&lt;/p&gt;</description>
                <environment></environment>
        <key id="187441">CDRIVER-556</key>
            <summary>Replica set changes cause a spurious error</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="charlie.page@10gen.com">Charlie Page</reporter>
                        <labels>
                    </labels>
                <created>Wed, 4 Mar 2015 15:52:23 +0000</created>
                <updated>Wed, 3 May 2017 22:14:17 +0000</updated>
                            <resolved>Wed, 11 Mar 2015 17:27:06 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="849054" author="jesse" created="Wed, 11 Mar 2015 17:27:06 +0000"  >&lt;p&gt;No, in that case we add an idiosyncrasy to the C driver that is not shared with other drivers. If we addressed &lt;b&gt;that&lt;/b&gt; problem by proposing a spec that requires all drivers to check the socket after issuing any command that could potentially cause the server to close sockets, such a spec would not be approved because it is much more complex than it&apos;s worth.&lt;/p&gt;

&lt;p&gt;An application that sends &quot;replSetReconfig&quot; must prepare for the consequences, the same as if it sent &quot;stepdown&quot; or &quot;shutdown&quot;.&lt;/p&gt;</comment>
                            <comment id="848868" author="charlie.page@10gen.com" created="Wed, 11 Mar 2015 15:22:39 +0000"  >&lt;p&gt;Every operation would be expensive.  What if we just check when the connection issues a reconfig command itself?&lt;/p&gt;</comment>
                            <comment id="848426" author="jesse" created="Wed, 11 Mar 2015 02:25:36 +0000"  >&lt;p&gt;Charlie I believe this is expected behavior for any driver; if the server drops connections in response to a reconfig the driver is likely to &lt;b&gt;not&lt;/b&gt; detect that and experience a network error the next time it uses that socket. Many drivers, including now the C driver, check a socket for errors if it&apos;s been idle over a second, with &lt;tt&gt;poll&lt;/tt&gt; or similar:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/hanumantmk/libmongoc/commit/2da0c4766c6f093bba2162b6c2de417632a989fb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/hanumantmk/libmongoc/commit/2da0c4766c6f093bba2162b6c2de417632a989fb&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, doing so on &lt;b&gt;every&lt;/b&gt; operation would be too expensive, and still not prevent all possible network errors in the application after a reconfig. I propose the C driver behaves as designed.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                        </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|hs6sz3:</customfieldvalue>

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