<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:22:39 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>[DRIVERS-946] Change SDAM &quot;not master&quot; and &quot;node is recovering&quot; to match the server&apos;s NotPrimary and Shutdown error categories</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-946</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;The server defines the NotPrimaryError category as:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;InterruptedDueToReplStateChange&lt;/li&gt;
	&lt;li&gt;NotMasterOrSecondary&lt;/li&gt;
	&lt;li&gt;PrimarySteppedDown&lt;/li&gt;
	&lt;li&gt;NotMaster&lt;/li&gt;
	&lt;li&gt;NotMasterNoSlaveOk&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And the ShutdownError category as:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;InterruptedAtShutdown&lt;/li&gt;
	&lt;li&gt;ShutdownInProgress&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/r4.9.0-alpha/src/mongo/base/error_codes.yml#L10&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/r4.9.0-alpha/src/mongo/base/error_codes.yml#L10&lt;/a&gt;&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#not-master-and-node-is-recovering&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;SDAM spec&lt;/a&gt; however defines &quot;not master&quot; as:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;NotMaster&lt;/li&gt;
	&lt;li&gt;NotMasterNoSlaveOk&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And &quot;node is recovering&quot; as:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;InterruptedAtShutdown&lt;/li&gt;
	&lt;li&gt;InterruptedDueToReplStateChange&lt;/li&gt;
	&lt;li&gt;NotMasterOrSecondary&lt;/li&gt;
	&lt;li&gt;PrimarySteppedDown&lt;/li&gt;
	&lt;li&gt;ShutdownInProgress&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I propose that we change SDAM&apos;s definitions to match the server&apos;s and rename &quot;not master&quot; and &quot;node is recovering&quot; to NotPrimaryError and ShutdownError respectively. This change will also allow us to replace the SDAM &quot;node is shutting down&quot; error with ShutdownError.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1129283">DRIVERS-946</key>
            <summary>Change SDAM &quot;not master&quot; and &quot;node is recovering&quot; to match the server&apos;s NotPrimary and Shutdown error categories</summary>
                <type id="14901" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14700&amp;avatarType=issuetype">Spec Change</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="shane.harvey@mongodb.com">Shane Harvey</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Feb 2020 19:53:49 +0000</created>
                <updated>Thu, 31 Mar 2022 14:11:40 +0000</updated>
                                                                <component>SDAM</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="2783410" author="shane.harvey" created="Tue, 4 Feb 2020 19:59:19 +0000"  >&lt;p&gt;This change might also require a change to the wording of single-threaded behavior in &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#not-master-and-node-is-recovering&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&quot;not master&quot; and &quot;node is recovering&quot;&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;For single-threaded clients, in the case of a &quot;not master&quot; or &quot;node is shutting down&quot; error, the client MUST mark the topology as &quot;stale&quot; so the next server selection scans all servers. &lt;b&gt;For a &quot;node is recovering&quot; error, single-threaded clients MUST NOT mark the topology as &quot;stale&quot;. If a node is recovering for some time, an immediate scan may not gain useful information.&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This seems to be the only place that &quot;node is recovering&quot; is used independent of &quot;not master&quot;. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </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_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10940"><![CDATA[Not Needed]]></customfieldvalue>

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