<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:23:00 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-10375] DNS failures can cause a primary-less state that wouldn&apos;t exist if a node had gone down entirely</title>
                <link>https://jira.mongodb.org/browse/SERVER-10375</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;If you end up with a one-way DNS partition, the PRIMARY will step down, but the SECONDARYs will not run for election as they believe the (former) PRIMARY will veto.&lt;/p&gt;

&lt;p&gt;Maybe, in the case that a node cannot see a candidate, they should not veto and instead vote when the actual election starts.&lt;/p&gt;</description>
                <environment></environment>
        <key id="83974">SERVER-10375</key>
            <summary>DNS failures can cause a primary-less state that wouldn&apos;t exist if a node had gone down entirely</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="9">Done</resolution>
                                        <assignee username="milkie@mongodb.com">Eric Milkie</assignee>
                                    <reporter username="matt.dannenberg">Matt Dannenberg</reporter>
                        <labels>
                            <label>elections</label>
                    </labels>
                <created>Tue, 30 Jul 2013 14:23:56 +0000</created>
                <updated>Thu, 14 Apr 2016 15:17:44 +0000</updated>
                            <resolved>Thu, 15 Oct 2015 15:13:32 +0000</resolved>
                                    <version>2.4.5</version>
                                                    <component>Replication</component>
                                        <votes>8</votes>
                                    <watches>18</watches>
                                                                                                                <comments>
                            <comment id="1061588" author="mattd@10gen.com" created="Thu, 15 Oct 2015 15:13:32 +0000"  >&lt;p&gt;The new election protocol does not have this problem as nodes will not veto (or vote against) candidates based on whether or not they believe the candidate is alive.&lt;/p&gt;</comment>
                            <comment id="423959" author="alex.komyagin@10gen.com" created="Thu, 12 Sep 2013 22:41:32 +0000"  >&lt;p&gt;After additional conversation with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mattd%4010gen.com&quot; class=&quot;user-hover&quot; rel=&quot;mattd@10gen.com&quot;&gt;mattd@10gen.com&lt;/a&gt;, it looks like that using priorities in the replica set can add some troubles here. Consider slightly modified original case:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Build a cluster of three nodes between two servers (SECONDARY and ARBITER on one server, PRIMARY on the other)&lt;br/&gt;
&lt;b&gt;Give PRIMARY the priority of 2. Leave default for the Secondary (1).&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Remove the entries for the SECONDARY and ARBITER hosts from the PRIMARY&apos;s /etc/hosts, simulating the loss of DNS resolution for that node&lt;/p&gt;

&lt;p&gt;The SECONDARY and ARBITER still have /etc/hosts records for the PRIMARY (simulating that DNS still works for them)&lt;/p&gt;

&lt;p&gt;The PRIMARY will step down, but the SECONDARY will not run for election as the (now former) PRIMARY would veto.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Even if the (now former) PRIMARY would &lt;em&gt;not&lt;/em&gt; veto, the ARBITER would still do that since it can see the (now former) PRIMARY and the (now former) PRIMARY has higher priority.&lt;/p&gt;

&lt;p&gt;I can not see any obvious way to alleviate this issue. One thing that comes to mind is that on each node we can detect asymmetric network split through the heartbeat (the same way we log &quot;node ... thinks that we are down&quot;) and, if it was detected, do not veto elections because of the priority.&lt;/p&gt;

&lt;p&gt;-Alex&lt;/p&gt;</comment>
                            <comment id="392717" author="mattd@10gen.com" created="Wed, 31 Jul 2013 14:48:50 +0000"  >&lt;p&gt;Linked the incorrect ticket previously. Good catch, Michael!&lt;/p&gt;</comment>
                            <comment id="392452" author="tewner" created="Wed, 31 Jul 2013 06:24:12 +0000"  >&lt;p&gt;The original issue should probably be linked:&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-10364&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-10364&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <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">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="83740">SERVER-10364</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="55594">DOCS-5700</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>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 31 Jul 2013 06:24:12 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        8 years, 17 weeks, 6 days 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-56</customfieldvalue>
                        </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>
                            8 years, 17 weeks, 6 days 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>alex.komyagin@mongodb.com</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>matt.dannenberg</customfieldvalue>
            <customfieldvalue>tewner</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrml3r:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3980</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_10750" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Steps To Reproduce</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;Build a cluster of three nodes between two servers (SECONDARY and ARBITER on one server, PRIMARY on the other)&lt;/p&gt;

&lt;p&gt;Remove the entries for the SECONDARY and ARBITER hosts from the PRIMARY&apos;s /etc/hosts, simulating the loss of DNS resolution for that node&lt;/p&gt;

&lt;p&gt;The SECONDARY and ARBITER still have /etc/hosts records for the PRIMARY (simulating that DNS still works for them)&lt;/p&gt;

&lt;p&gt;The PRIMARY will step down, but the SECONDARY will not run for election as the (now former) PRIMARY would veto.&lt;/p&gt;</customfieldvalue>

                        </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|hsc3pj:</customfieldvalue>

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