<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:24: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>[DRIVERS-2054] SDAM updates topology from new connection handshake of secondary that was previously a primary</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2054</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;SPEC-863 describes a case where a restarted primary from a 3-node replica set was selected for a write operation. This selection was based on outdated topology information, as the restart and application write occurred during a heartbeat interface. Since the restarted node had no previous connections, a new connection was made and a subsequent &lt;tt&gt;isMaster&lt;/tt&gt; command was issued. In that response, the node identified itself as a secondary and a separate node as the new primary.&lt;/p&gt;

&lt;p&gt;This &lt;tt&gt;isMaster&lt;/tt&gt; response resulted in libmongoc logging &quot;Transitioning to RSWithPrimary for RSSecondary&quot;. I believe this transition currently jibes with the &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#topologytype-table&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;TopologyType Table&lt;/a&gt; in the spec, since the topology&apos;s state was ReplicaSetWithPrimary at this point; however, the &lt;tt&gt;isMaster&lt;/tt&gt; response from this restarted node (previously a primary and now a secondary) conflicts with the existing topology as reported from the other two nodes in the last heartbeat. In this case, it may not make sense to trust this node as an authority on the topology state until the real primary can affirm the same in a subsequent &lt;tt&gt;isMaster&lt;/tt&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="365724">DRIVERS-2054</key>
            <summary>SDAM updates topology from new connection handshake of secondary that was previously a primary</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="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Fri, 17 Mar 2017 15:33:45 +0000</created>
                <updated>Thu, 31 Mar 2022 13:49:49 +0000</updated>
                                                                <component>SDAM</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="3093868" author="shane.harvey" created="Mon, 18 May 2020 21:10:47 +0000"  >&lt;p&gt;I think we could resolve this ticket by adding an SDAM spec test that simulates the issue in the description:&lt;/p&gt;


&lt;ol&gt;
	&lt;li&gt;Nodes P, S1, S2, with topology type RSWithPrimary.&lt;/li&gt;
	&lt;li&gt;Node P, responds as a secondary and claims that S1 is the new primary.&lt;/li&gt;
	&lt;li&gt;Assert that the new topology type is RSWithoutPrimary and that node S1 is in the PossiblePrimary state.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;This tests the PossiblePrimary logic in the&#160;&lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#updaterswithprimaryfrommember&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;updateRSWithPrimaryFromMember &lt;/a&gt; routine.&lt;/p&gt;</comment>
                            <comment id="3093828" author="jmikola@gmail.com" created="Mon, 18 May 2020 20:55:39 +0000"  >&lt;p&gt;The original context for this ticket was single-threaded SDAM, so I don&apos;t think streamable isMaster would necessarily address the full issue.&lt;/p&gt;</comment>
                            <comment id="3084934" author="behackett" created="Wed, 13 May 2020 22:16:23 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=shane.harvey&quot; class=&quot;user-hover&quot; rel=&quot;shane.harvey&quot;&gt;shane.harvey&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jeff.yemin&quot; class=&quot;user-hover&quot; rel=&quot;jeff.yemin&quot;&gt;jeff.yemin&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=matt.broadstone&quot; class=&quot;user-hover&quot; rel=&quot;matt.broadstone&quot;&gt;matt.broadstone&lt;/a&gt; will streamable ismaster solve this problem?&lt;/p&gt;</comment>
                            <comment id="2073465" author="oleg.pudeyev" created="Tue, 27 Nov 2018 21:44:43 +0000"  >&lt;p&gt;Is this ticket referring to outdated language in the spec? Given current wording, response from a secondary should not change the descriptions of any servers other than itself (i.e. it can&apos;t make another server primary).&lt;/p&gt;</comment>
                            <comment id="1833695" author="rathi.gnanasekaran" created="Wed, 14 Mar 2018 16:49:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jmikola&quot; class=&quot;user-hover&quot; rel=&quot;jmikola&quot;&gt;jmikola&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jesse&quot; class=&quot;user-hover&quot; rel=&quot;jesse&quot;&gt;jesse&lt;/a&gt; moving this to the backlog. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <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="10748"><![CDATA[Needed]]></customfieldvalue>

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