<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:13:55 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-47348] Require configTerm in replSetHeartbeat request and response</title>
                <link>https://jira.mongodb.org/browse/SERVER-47348</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&quot;configTerm&quot; was added to the replSetHeartbeat request and response in 4.4 (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45082&quot; title=&quot;Secondaries only learn configs with higher (term, version) pair&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45082&quot;&gt;&lt;del&gt;SERVER-45082&lt;/del&gt;&lt;/a&gt;), but for compatibility, ReplSetHeartbeatArgsV1::initialize and ReplSetHeartbeatResponse::initialize do not require it. In 4.6, we know the field must be present, so require it.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1305412">SERVER-47348</key>
            <summary>Require configTerm in replSetHeartbeat request and response</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="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="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                            <label>former-quick-wins</label>
                            <label>safe-reconfig-related</label>
                    </labels>
                <created>Mon, 6 Apr 2020 13:05:51 +0000</created>
                <updated>Tue, 6 Dec 2022 02:30:35 +0000</updated>
                                                                            <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="3069642" author="william.schultz" created="Tue, 5 May 2020 15:59:01 +0000"  >&lt;p&gt;As discussed, we can&apos;t fully require config term until 4.8, when we know we will never be missing a config term field on heartbeat requests or responses.&lt;/p&gt;</comment>
                            <comment id="3068640" author="siyuan.zhou@10gen.com" created="Tue, 5 May 2020 05:54:45 +0000"  >&lt;p&gt;Good point, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=william.schultz&quot; class=&quot;user-hover&quot; rel=&quot;william.schultz&quot;&gt;william.schultz&lt;/a&gt;. I agreed. I think it makes sense to always attach configTerm in heartbeat responses in 4.6.&lt;/p&gt;</comment>
                            <comment id="3067329" author="jesse" created="Mon, 4 May 2020 15:47:28 +0000"  >&lt;p&gt;Oh, I &lt;b&gt;think&lt;/b&gt; that sounds right to me, and it&apos;s certainly harmless to put this off for a version. Good catch.&lt;/p&gt;</comment>
                            <comment id="3067287" author="william.schultz" created="Mon, 4 May 2020 15:34:13 +0000"  >&lt;p&gt;After looking at this some more, I actually don&apos;t think we can require &apos;configTerm&apos; on heartbeat requests and responses yet in 4.6. In 4.4, FCV=4.4, there are still cases where we don&apos;t attach a configTerm to heartbeats. &lt;a href=&quot;https://github.com/mongodb/mongo/blob/v4.4/src/mongo/db/repl/repl_set_heartbeat_response.cpp#L84-L86&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;ReplSetHeartbeatResponse&lt;/a&gt; and &lt;a href=&quot;https://github.com/mongodb/mongo/blob/e221f26742d91ff1b200e1d068714ae804bd0e28/src/mongo/db/repl/repl_set_heartbeat_args_v1.cpp#L161-L166&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;ReplSetHeartbeatArgsV1&lt;/a&gt; both omit a &apos;configTerm&apos; field from their BSON objects if the term is uninitialized (-1). This is not gated by FCV, so it&apos;s possible that in a mixed version 4.4/4.6 replica set some heartbeat messages won&apos;t have a configTerm. If I recall correctly we avoided FCV gating this to support communication with arbiters. &lt;/p&gt;

&lt;p&gt;In &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47211&quot; title=&quot;Remove 4.2 style reconfig behavior on FCV downgrade&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47211&quot;&gt;&lt;del&gt;SERVER-47211&lt;/del&gt;&lt;/a&gt;, we already made it so that we &lt;a href=&quot;https://github.com/mongodb/mongo/commit/86cb9cf105c242a46a437366afbaa19fadcf5703#diff-2283d8455cdaf5b27ed054ac9b500e1fR175&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;always attach configTerm on heartbeat requests&lt;/a&gt;, and we could do the same for heartbeat responses in this ticket. That would mean we could officially require configTerm on heartbeats in version 4.8. &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; does this sound accurate to you?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1298729">SERVER-47211</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1049551">SERVER-45082</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_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25128"><![CDATA[Replication]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 30 Apr 2020 18:00:09 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 40 weeks, 1 day 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>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 40 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>jesse@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
            <customfieldvalue>william.schultz@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxdonj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr4kzb:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="3881">Repl 2020-05-04</customfieldvalue>

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

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