<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:42:57 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-36387] Allow heartbeat responses to wake ready waiters even when they do not advance optimes</title>
                <link>https://jira.mongodb.org/browse/SERVER-36387</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Heartbeats and replSetUpdatePosition can only wake up replication waiters if they represent optime changes. If no further progress can be made (e.g. when the node in question fully catches up), those waiters will not be signaled unless new writes come in. This is not necessarily an issue in functionality like awaitReplication, but it can be a problem with stepdown. For example, during a stepdown attempt, it is possible to have secondaries catch up while they are frozen, then lift the freeze but have no way to signal the waiters (since everyone is already up to date), leading to the attempt timing out. This can be fixed by allowing heartbeat responses that do not advance optimes to still wake up replication waiters (by doing the minimal amount of work required for that). &lt;/p&gt;

&lt;p&gt;This bug was introduced by the changes in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35058&quot; title=&quot;Don&amp;#39;t only rely on heartbeat to signal secondary positions in stepdown command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35058&quot;&gt;&lt;del&gt;SERVER-35058&lt;/del&gt;&lt;/a&gt; (specifically &lt;a href=&quot;https://github.com/mongodb/mongo/commit/925a113194e00e193318486f576d14e6c3e27ea1#diff-0d2f1d6423396e0c6c09f474ffa76b77L216&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;</description>
                <environment></environment>
        <key id="580596">SERVER-36387</key>
            <summary>Allow heartbeat responses to wake ready waiters even when they do not advance optimes</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="vesselina.ratcheva@mongodb.com">Vesselina Ratcheva</assignee>
                                    <reporter username="vesselina.ratcheva@mongodb.com">Vesselina Ratcheva</reporter>
                        <labels>
                    </labels>
                <created>Wed, 1 Aug 2018 00:39:05 +0000</created>
                <updated>Sun, 25 Nov 2018 08:34:59 +0000</updated>
                            <resolved>Thu, 2 Aug 2018 19:57:23 +0000</resolved>
                                                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="1964360" author="vesselina.ratcheva" created="Thu, 2 Aug 2018 19:57:07 +0000"  >&lt;p&gt;A little bit of both, actually. Before &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35058&quot; title=&quot;Don&amp;#39;t only rely on heartbeat to signal secondary positions in stepdown command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35058&quot;&gt;&lt;del&gt;SERVER-35058&lt;/del&gt;&lt;/a&gt;, the stepdown waiters were separate, so it was relatively cheap to wake them up, which the old behavior did. Now with those being unified, signaling would be more expensive, and we finally decided this was not worth the performance impact, since in PV1 it can only happen with deliberate manual intervention (in the form of freezing). &lt;/p&gt;

&lt;p&gt;What I described in the ticket would be a big problem in PV0, since it has &quot;VotedTooRecently&quot; as a reason to not be electable. With this, you could easily run into the situation where the vote lease expires after everyone has caught up, leaving you with nothing to signal the waiters. We decided the solution is to simply skip &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35058&quot; title=&quot;Don&amp;#39;t only rely on heartbeat to signal secondary positions in stepdown command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35058&quot;&gt;&lt;del&gt;SERVER-35058&lt;/del&gt;&lt;/a&gt; when backporting election handoff to v3.6, since it is not strictly required for it to work.&lt;/p&gt;

&lt;p&gt;Closing this as &quot;Won&apos;t Fix&quot;.&lt;/p&gt;</comment>
                            <comment id="1962856" author="judah.schvimer" created="Wed, 1 Aug 2018 14:53:13 +0000"  >&lt;p&gt;Will this introduce any performance regressions around waking up waiters unnecessarily? Or is this returning to an old behavior?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15640"><![CDATA[v4.0]]></customfieldvalue>
    <customfieldvalue key="15141"><![CDATA[v3.6]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 1 Aug 2018 14:53:13 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 27 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-1082</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>dmitry.agranat@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 27 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>vesselina.ratcheva@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hu46hb:</customfieldvalue>

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

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