<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:17:12 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-48467] Handle quiesce mode in mixed version replica sets</title>
                <link>https://jira.mongodb.org/browse/SERVER-48467</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Due to the findings in&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46962&quot; title=&quot;Test new sync source in quiesce mode&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46962&quot;&gt;&lt;del&gt;SERVER-46962&lt;/del&gt;&lt;/a&gt;, a 4.6 node entering quiesce mode in a mixed 4.4/4.6 replica set could delay a 4.4 node finding a valid sync source. Some options to prevent this are to backport the changes in&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46962&quot; title=&quot;Test new sync source in quiesce mode&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46962&quot;&gt;&lt;del&gt;SERVER-46962&lt;/del&gt;&lt;/a&gt; to 4.4 or only enable quiesce mode when the featureCompatibilityVersion is 4.6.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1365494">SERVER-48467</key>
            <summary>Handle quiesce mode in mixed version replica sets</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="13201">Fixed</resolution>
                                        <assignee username="pavithra.vetriselvan@mongodb.com">Pavithra Vetriselvan</assignee>
                                    <reporter username="tess.avitabile@mongodb.com">Tess Avitabile</reporter>
                        <labels>
                    </labels>
                <created>Thu, 28 May 2020 15:27:45 +0000</created>
                <updated>Sun, 29 Oct 2023 22:07:41 +0000</updated>
                            <resolved>Fri, 26 Jun 2020 15:45:51 +0000</resolved>
                                                    <fixVersion>4.7.0</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="3225775" author="xgen-internal-githook" created="Fri, 26 Jun 2020 15:05:01 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Pavi Vetriselvan&apos;, &apos;email&apos;: &apos;pvselvan@umich.edu&apos;, &apos;username&apos;: &apos;pvselvan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48467&quot; title=&quot;Handle quiesce mode in mixed version replica sets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48467&quot;&gt;&lt;del&gt;SERVER-48467&lt;/del&gt;&lt;/a&gt; Only turn on quiesce mode in fcv 4.6&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/33a643298e279b266362729e91481f159e0a7a69&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/33a643298e279b266362729e91481f159e0a7a69&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3224708" author="evin.roesle" created="Thu, 25 Jun 2020 20:39:51 +0000"  >&lt;p&gt;Makes sense to me. More uniform behavior means easier for the user to understand when they should expect a certain behavior so I am also all for that idea&lt;/p&gt;</comment>
                            <comment id="3223778" author="pavithra.vetriselvan" created="Thu, 25 Jun 2020 14:07:22 +0000"  >&lt;p&gt;Ah, got it. Thank you for explaining! I would also prefer to ignore the parameter. &lt;/p&gt;</comment>
                            <comment id="3223542" author="tess.avitabile" created="Thu, 25 Jun 2020 12:12:01 +0000"  >&lt;p&gt;Yes, this is what I meant by &quot;ignoring&quot; the parameter&#8211;we&apos;ll just skip quiesce mode.&lt;/p&gt;

&lt;p&gt;Similar to the option of banning vs ignoring the &lt;tt&gt;timeoutSecs&lt;/tt&gt; parameter for the &lt;tt&gt;shutdown&lt;/tt&gt; command, there&apos;s a question of whether to ban or ignore the shutdownTimeoutMillis parameter for mongos, but in this case &quot;banning&quot; would be requiring this parameter is 0. I prefer to ignore the parameter when FCV &amp;lt; 4.6. Does that make sense?&lt;/p&gt;</comment>
                            <comment id="3223030" author="pavithra.vetriselvan" created="Wed, 24 Jun 2020 22:56:19 +0000"  >&lt;p&gt;That makes sense to me! I agree that skipping quiesce mode on mongos and mongod if FCV &amp;lt; 4.6 provides a more uniform behavior. It looks like &lt;tt&gt;timeoutSecs&lt;/tt&gt; and the server parameters will be unused by quiesce mode if we check for FCV before entering quiesce mode on the server. Just double checking that this is what you meant by &quot;ignoring&quot; the parameter. &lt;/p&gt;

&lt;p&gt;As you said, they would only be used for the stepdown timeout. &lt;/p&gt;

&lt;p&gt;I&apos;m a little confused by what you mean by requiring/not requiring that the shutdownTimeoutMillis server parameters are 0, though. &lt;/p&gt;
</comment>
                            <comment id="3221509" author="tess.avitabile" created="Wed, 24 Jun 2020 14:33:50 +0000"  >&lt;p&gt;Yes, FCV-gating the feature sounds good to me!&lt;/p&gt;

&lt;p&gt;It&apos;s not quite the case that we&apos;ll block users from using quiesce mode if they have FCV &amp;lt; 4.6, since quiesce mode happens by default. Instead, I would say this the feature is turned off if FCV &amp;lt; 4.6.&lt;/p&gt;

&lt;p&gt;There are a few choices I think we need to make:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;We could consider having mongos still enter quiesce mode if FCV &amp;lt; 4.6, since the problem only affects mongod. But I think it&apos;s more straightforward if mongos also skips quiesce mode if FCV &amp;lt; 4.6.&lt;/li&gt;
	&lt;li&gt;We won&apos;t ban the &lt;tt&gt;timeoutSecs&lt;/tt&gt; parameter for the &lt;tt&gt;shutdown&lt;/tt&gt; command on mongod if FCV &amp;lt; 4.6, since this parameter is used for the stepdown timeout as well. But we could consider banning the parameter for mongos. However, I think it&apos;s more straightforward to just ignore the parameter if FCV &amp;lt; 4.6.&lt;/li&gt;
	&lt;li&gt;Similarly, we won&apos;t require that &lt;tt&gt;shutdownTimeoutMillisForSignaledShutdown&lt;/tt&gt; is 0 on mongod if FCV &amp;lt; 4.6, since this parameter is used for the stepdown timeout as well. But we could consider requiring that &lt;tt&gt;mongosShutdownTimeoutMillisForSignaledShutdown&lt;/tt&gt; is 0 if FCV &amp;lt; 4.6. However, again, I think it&apos;s more straightforward to ignore the parameter.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=evin.roesle&quot; class=&quot;user-hover&quot; rel=&quot;evin.roesle&quot;&gt;evin.roesle&lt;/a&gt;, I want to let you know about the above design choices for FCV-gating quiesce mode.&lt;/p&gt;

&lt;p&gt;Yes, those sound like the correct places to check FCV. Though there may be nothing to do for the cases of attaching topologyVersion, since &lt;tt&gt;inQuiesceMode()&lt;/tt&gt; will return false.&lt;/p&gt;</comment>
                            <comment id="3220769" author="pavithra.vetriselvan" created="Tue, 23 Jun 2020 22:17:56 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tess.avitabile&quot; class=&quot;user-hover&quot; rel=&quot;tess.avitabile&quot;&gt;tess.avitabile&lt;/a&gt; Based on our conversation with Cloud, it seems like the simplest solution for everyone would be to FCV gate quiesce mode to 4.6. Atlas doesn&apos;t allow mixed version sets and Cluster Manager/Ops Manager can block users from using Quiesce Mode if they have &amp;lt; FCV 4.6. &lt;/p&gt;

&lt;p&gt;After a quick run-through of the code we added for this project, the following places seem to be where we should check FCV:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Before entering quiesce mode on &lt;a href=&quot;https://github.com/mongodb/mongo/blob/36bf915c32d551ad557ec7a1fa41890037e9f54f/src/mongo/db/mongod_main.cpp#L1074-L1086&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongod&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Before entering quiesce mode on &lt;a href=&quot;https://github.com/mongodb/mongo/blob/36bf915c32d551ad557ec7a1fa41890037e9f54f/src/mongo/s/mongos_main.cpp#L287-L292&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongos&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Attaching topologyVersion to shutdown errors on &lt;a href=&quot;https://github.com/mongodb/mongo/blob/36bf915c32d551ad557ec7a1fa41890037e9f54f/src/mongo/db/service_entry_point_common.cpp#L478-L481&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongod&lt;/a&gt; (since topologyVersion shouldn&apos;t change on shutdown &amp;lt; 4.6)&lt;/li&gt;
	&lt;li&gt;Attaching topologyVersion to shutdown errors on &lt;a href=&quot;https://github.com/mongodb/mongo/blob/36bf915c32d551ad557ec7a1fa41890037e9f54f/src/mongo/s/commands/strategy.cpp#L860-L875&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongos&lt;/a&gt; (since topologyVersion shouldn&apos;t change on shutdown &amp;lt; 4.6)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Is there anything else that I&apos;m missing?&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</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>Tue, 23 Jun 2020 22:17:56 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 32 weeks, 5 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1703</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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 32 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>evin.roesle@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>pavithra.vetriselvan@mongodb.com</customfieldvalue>
            <customfieldvalue>tess.avitabile@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxni6v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxaq5b:</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="3935">Repl 2020-06-15</customfieldvalue>
    <customfieldvalue id="3999">Repl 2020-06-29</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|hxn4g7:</customfieldvalue>

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