<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:21:17 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>[SERVER-9730] Asymmetrical network partition can cause the election of two PRIMARY nodes</title>
                <link>https://jira.mongodb.org/browse/SERVER-9730</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Consider a replica set with three nodes: A, B, C.  &apos;A&apos; is PRIMARY, &apos;B&apos; and &apos;C&apos; are SECONDARY.&lt;/p&gt;

&lt;p&gt;If there is a network partition between &apos;A&apos; and &apos;C&apos;, then:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;A is still PRIMARY because it can see a majority of the set&lt;/li&gt;
	&lt;li&gt;C will start an election trying to become PRIMARY
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;It can see a majority of the set&lt;/li&gt;
		&lt;li&gt;It cannot see a primary&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;If, for whatever reason, &apos;B&apos; allows &apos;C&apos; to become PRIMARY, then the set will have two PRIMARY nodes until one of them is stepped down.&lt;/p&gt;</description>
                <environment></environment>
        <key id="75931">SERVER-9730</key>
            <summary>Asymmetrical network partition can cause the election of two PRIMARY nodes</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.mongodb.org/images/icons/priorities/critical.svg">Critical - P2</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="milkie@mongodb.com">Eric Milkie</assignee>
                                    <reporter username="william.zola@10gen.com">William Zola</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 May 2013 17:08:46 +0000</created>
                <updated>Mon, 11 Jul 2016 17:37:52 +0000</updated>
                            <resolved>Wed, 22 May 2013 21:09:06 +0000</resolved>
                                    <version>2.2.4</version>
                    <version>2.4.3</version>
                    <version>2.5.0</version>
                                    <fixVersion>2.2.5</fixVersion>
                    <fixVersion>2.4.4</fixVersion>
                    <fixVersion>2.5.1</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>12</watches>
                                                                                                                <comments>
                            <comment id="383712" author="abramovich@nimble.com" created="Thu, 18 Jul 2013 01:36:32 +0000"  >&lt;p&gt;thanks, now it&apos;s super clear&lt;/p&gt;</comment>
                            <comment id="383706" author="william.zola@10gen.com" created="Thu, 18 Jul 2013 01:26:37 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=abramovich%40nimble.com&quot; class=&quot;user-hover&quot; rel=&quot;abramovich@nimble.com&quot;&gt;abramovich@nimble.com&lt;/a&gt; &amp;#8211; You&apos;re correct: I was mistaken.&lt;/p&gt;</comment>
                            <comment id="383155" author="abramovich@nimble.com" created="Wed, 17 Jul 2013 14:30:31 +0000"  >&lt;p&gt;So looks William was not right in his statement &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9730?focusedCommentId=383129&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-383129&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-9730?focusedCommentId=383129&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-383129&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="383151" author="milkie" created="Wed, 17 Jul 2013 14:25:17 +0000"  >&lt;p&gt;An environment where there is an arbiter, primary, and secondary is not affected by this bug.&lt;/p&gt;</comment>
                            <comment id="383148" author="abramovich@nimble.com" created="Wed, 17 Jul 2013 14:21:49 +0000"  >&lt;p&gt;So if I correctly understood Eric - we cant face this bug in environment when there is arbiter, primary and secondary, right?&lt;/p&gt;

&lt;p&gt;just environment with primary and two secondaries could be affected?&lt;/p&gt;

</comment>
                            <comment id="383143" author="milkie" created="Wed, 17 Jul 2013 14:16:16 +0000"  >&lt;p&gt;No, because the secondary will never be perceived to be fresher than the primary by the arbiter, since the secondary cannot chain through the arbiter to reach the primary&apos;s replicated ops.  Arbiters do not do anything other than participate in elections; notably, they do not forward along replicated ops, as the B Secondary in the original scenario was doing.&lt;/p&gt;</comment>
                            <comment id="383133" author="abramovich@nimble.com" created="Wed, 17 Jul 2013 14:06:45 +0000"  >&lt;p&gt;Let&apos;s say without B and C &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;I have 1 primary, 1 secondary, 1 arbiter; can I face this bug so I&apos;ll have two primaries and 1 arbiter?&lt;/p&gt;

&lt;p&gt;looks yes - when primary will stop see the secondary and vice versa, but arbiter will see both (and vice versa) - the secondary will also become master&lt;/p&gt;

&lt;p&gt;so the questions are:&lt;/p&gt;

&lt;p&gt;1) what will happen to mongoses which are seeing two primaries in a shard&lt;br/&gt;
2) what will happen after connectivity is back?&lt;/p&gt;

&lt;p&gt;thanks&lt;/p&gt;</comment>
                            <comment id="383129" author="william.zola@10gen.com" created="Wed, 17 Jul 2013 14:02:18 +0000"  >&lt;p&gt;&amp;gt; yes, but can the B become PRIMARY - so we&apos;ll have A and B as primaries and C as arbiter&lt;/p&gt;

&lt;p&gt;I think the question you meant to ask was: &quot;Can this scenario occur if &apos;B&apos; is an arbiter?&quot;.  The answer to &lt;ins&gt;that&lt;/ins&gt; question is &quot;yes&quot;.&lt;/p&gt;</comment>
                            <comment id="383074" author="milkie" created="Wed, 17 Jul 2013 13:00:27 +0000"  >&lt;p&gt;No, B will not become PRIMARY because it can still see A is PRIMARY in the original scenario.&lt;/p&gt;</comment>
                            <comment id="382941" author="abramovich@nimble.com" created="Wed, 17 Jul 2013 08:11:56 +0000"  >&lt;p&gt;yes, but can the B become PRIMARY - so we&apos;ll have A and B as primaries and C as arbiter&lt;/p&gt;</comment>
                            <comment id="346559" author="william.zola@10gen.com" created="Tue, 28 May 2013 03:38:16 +0000"  >&lt;blockquote&gt;
&lt;p&gt;can this happen when &apos;C&apos; in Description scenario is an arbiter?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;No it cannot.  If &apos;C&apos; is an arbiter, it will not attempt to become primary.&lt;/p&gt;</comment>
                            <comment id="346344" author="abramovich@nimble.com" created="Mon, 27 May 2013 18:15:35 +0000"  >&lt;p&gt;can this happen when &apos;C&apos; in Description scenario is an arbiter?&lt;/p&gt;</comment>
                            <comment id="343177" author="auto" created="Wed, 22 May 2013 22:01:24 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;milkie&apos;, u&apos;name&apos;: u&apos;Eric Milkie&apos;, u&apos;email&apos;: u&apos;milkie@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9730&quot; title=&quot;Asymmetrical network partition can cause the election of two PRIMARY nodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9730&quot;&gt;&lt;del&gt;SERVER-9730&lt;/del&gt;&lt;/a&gt;  under any circumstances, do not vote yea while a primary already exists&lt;br/&gt;
Branch: v2.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5ec76b730a94b6d8d072fab0a348e34debe72ea3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5ec76b730a94b6d8d072fab0a348e34debe72ea3&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="343142" author="auto" created="Wed, 22 May 2013 21:22:13 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;milkie&apos;, u&apos;name&apos;: u&apos;Eric Milkie&apos;, u&apos;email&apos;: u&apos;milkie@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9730&quot; title=&quot;Asymmetrical network partition can cause the election of two PRIMARY nodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9730&quot;&gt;&lt;del&gt;SERVER-9730&lt;/del&gt;&lt;/a&gt;  under any circumstances, do not vote yea while a primary already exists&lt;br/&gt;
Branch: v2.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d01732d65dea9295ffe08bbbe748136dcd4178bf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d01732d65dea9295ffe08bbbe748136dcd4178bf&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="343114" author="auto" created="Wed, 22 May 2013 21:09:00 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;milkie&apos;, u&apos;name&apos;: u&apos;Eric Milkie&apos;, u&apos;email&apos;: u&apos;milkie@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9730&quot; title=&quot;Asymmetrical network partition can cause the election of two PRIMARY nodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9730&quot;&gt;&lt;del&gt;SERVER-9730&lt;/del&gt;&lt;/a&gt;  under any circumstances, do not vote yea while a primary already exists&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/47fc9f6809a29713ac7d80a4b318e690906075df&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/47fc9f6809a29713ac7d80a4b318e690906075df&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="340059" author="scotthernandez" created="Mon, 20 May 2013 21:23:14 +0000"  >&lt;p&gt;Can you repro this, pref. with a jstest?&lt;/p&gt;

&lt;p&gt;You can use use the bridging and partitioning in ReplSetTest to create many scenarios, like the one described. See &lt;a href=&quot;https://github.com/mongodb/mongo/blob/master/jstests/replsets/no_chaining.js&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/master/jstests/replsets/no_chaining.js&lt;/a&gt; for an example.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="61648">SERVER-8145</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="71139">SERVER-9283</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="76252">SERVER-9756</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>16.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 20 May 2013 21:23:14 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        10 years, 31 weeks ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            10 years, 31 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>scotthernandez</customfieldvalue>
            <customfieldvalue>abramovich@nimble.com</customfieldvalue>
            <customfieldvalue>william.zola@10gen.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrmsk7:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>53670</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hs6k9b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>