<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:14:19 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-27157] replSetRequestVotes doesn&apos;t synchronize between processing and recording request</title>
                <link>https://jira.mongodb.org/browse/SERVER-27157</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The command processes the vote request then stores it without any synchronization. This can lead to the following sequence:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Host A requests a vote for term 5 which we grant&lt;/li&gt;
	&lt;li&gt;Host B requests a vote for term 6 which we grant&lt;/li&gt;
	&lt;li&gt;Record that we voted for host B in term 6&lt;/li&gt;
	&lt;li&gt;Record that we voted for host A in term 5&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Since we record votes using overwrite updates, the term 5 vote replaces the term 6 vote so we lose the fact that we already voted in term 6. Since we only read that document at startup, this can only result in conflicting votes if a shutdown occurs before we vote again. Unlike &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27154&quot; title=&quot;replSetRequestVotes command should wait for durability&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27154&quot;&gt;&lt;del&gt;SERVER-27154&lt;/del&gt;&lt;/a&gt; this can still happen with a clean shutdown.&lt;/p&gt;</description>
                <environment></environment>
        <key id="333649">SERVER-27157</key>
            <summary>replSetRequestVotes doesn&apos;t synchronize between processing and recording request</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="judah.schvimer@mongodb.com">Judah Schvimer</assignee>
                                    <reporter username="mathias@mongodb.com">Mathias Stearn</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Nov 2016 16:31:33 +0000</created>
                <updated>Wed, 5 Apr 2017 11:43:20 +0000</updated>
                            <resolved>Wed, 18 Jan 2017 16:48:38 +0000</resolved>
                                                    <fixVersion>3.2.12</fixVersion>
                    <fixVersion>3.4.2</fixVersion>
                    <fixVersion>3.5.2</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="1483788" author="xgen-internal-githook" created="Tue, 24 Jan 2017 14:56:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;judahschvimer&apos;, u&apos;name&apos;: u&apos;Judah Schvimer&apos;, u&apos;email&apos;: u&apos;judah@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27157&quot; title=&quot;replSetRequestVotes doesn&amp;#39;t synchronize between processing and recording request&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27157&quot;&gt;&lt;del&gt;SERVER-27157&lt;/del&gt;&lt;/a&gt; replSetRequestVotes should only store votes with higher terms&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2369c1863931e5c7f671c33421416c9580f80626)&lt;br/&gt;
Branch: v3.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/8ccc63824269d37df9d9105d6076492768b4b5b9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/8ccc63824269d37df9d9105d6076492768b4b5b9&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1481235" author="xgen-internal-githook" created="Fri, 20 Jan 2017 14:54:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;judahschvimer&apos;, u&apos;name&apos;: u&apos;Judah Schvimer&apos;, u&apos;email&apos;: u&apos;judah@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27157&quot; title=&quot;replSetRequestVotes doesn&amp;#39;t synchronize between processing and recording request&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27157&quot;&gt;&lt;del&gt;SERVER-27157&lt;/del&gt;&lt;/a&gt; replSetRequestVotes should only store votes with higher terms&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2369c1863931e5c7f671c33421416c9580f80626)&lt;br/&gt;
Branch: v3.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/0f4d520a648a11b612c67b1d983f748a10a97fb1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/0f4d520a648a11b612c67b1d983f748a10a97fb1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1479427" author="xgen-internal-githook" created="Wed, 18 Jan 2017 16:47:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;judahschvimer&apos;, u&apos;name&apos;: u&apos;Judah Schvimer&apos;, u&apos;email&apos;: u&apos;judah@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27157&quot; title=&quot;replSetRequestVotes doesn&amp;#39;t synchronize between processing and recording request&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27157&quot;&gt;&lt;del&gt;SERVER-27157&lt;/del&gt;&lt;/a&gt; replSetRequestVotes should only store votes with higher terms&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2369c1863931e5c7f671c33421416c9580f80626&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2369c1863931e5c7f671c33421416c9580f80626&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1468793" author="spencer" created="Wed, 4 Jan 2017 00:47:45 +0000"  >&lt;p&gt;I don&apos;t think its safe to change the behavior here without first adding test coverage that we actually use the last vote document correctly, otherwise we&apos;ll have no way of knowing if we&apos;ve broken it.  Thus I am marking &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27569&quot; title=&quot;Increase test coverage around durability of lastVote document&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27569&quot;&gt;&lt;del&gt;SERVER-27569&lt;/del&gt;&lt;/a&gt; as a dependency&lt;/p&gt;</comment>
                            <comment id="1467279" author="judah.schvimer" created="Fri, 30 Dec 2016 22:38:10 +0000"  >&lt;p&gt;We will add this synchronization by adding a predicate to the document update to only update the document if the new term is strictly greater than the old term.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="342317">SERVER-27569</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="333646">SERVER-27154</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="333647">SERVER-27155</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>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="14340"><![CDATA[v3.4]]></customfieldvalue>
    <customfieldvalue key="13440"><![CDATA[v3.2]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 30 Dec 2016 22:38:10 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        7 years, 3 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-27569'>SERVER-27569</a></s>]]></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>
                            7 years, 3 weeks, 1 day 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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
            <customfieldvalue>spencer@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrjq4n:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsrrwn:</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>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1313">Repl 2017-01-23</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|hs4olb:</customfieldvalue>

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