<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:30:32 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-75577] Allow specifying FCV on new mongod</title>
                <link>https://jira.mongodb.org/browse/SERVER-75577</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;During version upgrades, Atlas upgrades the binary version first while keeping the old FCV for a few days, then upgrades the FCV if everything works well. During this period of mixed binary version and FCV, new Atlas clusters (replset and sharding clusters) should run with the old FCV too.&lt;/p&gt;

&lt;p&gt;Because mongod only starts with the FCV as same as its binary version, currently Automation Agent implements a workaround. Agent starts a new binary (e.g. 6.2) and then downgrades it to the old FCV (e.g. 6.1). This downgrade isn&apos;t safe because FCV downgrade may involve manual data manipulation, such as resetting the cap collection&apos;s size due to &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-67036&quot; title=&quot;Creating capped collections does not use minimum size of 4096 bytes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-67036&quot;&gt;&lt;del&gt;SERVER-67036&lt;/del&gt;&lt;/a&gt;. It caused issues in the linked tickets.&lt;/p&gt;

&lt;p&gt;This happens when creating new clusters for customers and also for backup restores where they need to create an intermediate restore VM to prepare the restore collection data.&#160;&lt;/p&gt;

&lt;p&gt;It&apos;s possible to work around it by starting the old binary version and then to upgrade the binary to the latest version for new clusters, such that the old FCV remains. However, it&apos;s not only inefficient, but also complex since it&apos;s not trivial for the Agent to know if the cluster is new. MMS control plane knows whether a cluster is new but is supposed to only tell the Agent the end goal and let it to plan accordingly.&lt;/p&gt;

&lt;p&gt;FCV is a state managed by mongod, so it is not ideal for its consumer to work around the mechanism in order to set it to a lower one. Instead, we should allow specifying the default FCV as a startup parameter. If no existing FCV is detected, the specified default FCV should be used instead of the same version as the binary. Thus, Agent just needs to provide the desired default FCV to the new clusters.&lt;/p&gt;

&lt;p&gt;This should work for standalone, replica set and sharding clusters.&#160;&lt;/p&gt;

&lt;p&gt;We will need to make changes to &lt;a href=&quot;https://github.com/10gen/mongo/blob/c6e5701933a98b4fe91c2409c212fcce2d3d34f0/src/mongo/db/commands/feature_compatibility_version.cpp#L432-L468&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo/blob/c6e5701933a98b4fe91c2409c212fcce2d3d34f0/src/mongo/db/commands/feature_compatibility_version.cpp#L432-L468.&lt;/a&gt; and take extra care that it works for sharding as well &lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2304613">SERVER-75577</key>
            <summary>Allow specifying FCV on new mongod</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="1" iconUrl="https://jira.mongodb.org/images/icons/priorities/blocker.svg">Blocker - P1</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="huayu.ouyang@mongodb.com">Huayu Ouyang</assignee>
                                    <reporter username="siyuan.zhou@mongodb.com">Siyuan Zhou</reporter>
                        <labels>
                            <label>former-quick-wins</label>
                    </labels>
                <created>Mon, 3 Apr 2023 04:49:22 +0000</created>
                <updated>Sun, 29 Oct 2023 21:23:49 +0000</updated>
                            <resolved>Fri, 12 May 2023 19:50:42 +0000</resolved>
                                                    <fixVersion>7.1.0-rc0</fixVersion>
                    <fixVersion>7.0.0-rc1</fixVersion>
                                                        <votes>0</votes>
                                    <watches>23</watches>
                                                                                                                <comments>
                            <comment id="5422159" author="xgen-internal-githook" created="Fri, 12 May 2023 21:40:28 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Huayu Ouyang&apos;, &apos;email&apos;: &apos;huayu.ouyang@mongodb.com&apos;, &apos;username&apos;: &apos;huayu-ouyang&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-75577&quot; title=&quot;Allow specifying FCV on new mongod&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-75577&quot;&gt;&lt;del&gt;SERVER-75577&lt;/del&gt;&lt;/a&gt; Allow specifying FCV on new mongod&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 44d9b193ab7a2e86b7f63a276f0215d24c3c35d6)&lt;br/&gt;
Branch: v7.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/aaab48df085284185de7788de5989f5e257ff777&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/aaab48df085284185de7788de5989f5e257ff777&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5421879" author="xgen-internal-githook" created="Fri, 12 May 2023 19:42:48 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Huayu Ouyang&apos;, &apos;email&apos;: &apos;huayu.ouyang@mongodb.com&apos;, &apos;username&apos;: &apos;huayu-ouyang&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-75577&quot; title=&quot;Allow specifying FCV on new mongod&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-75577&quot;&gt;&lt;del&gt;SERVER-75577&lt;/del&gt;&lt;/a&gt; Allow specifying FCV on new mongod&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/44d9b193ab7a2e86b7f63a276f0215d24c3c35d6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/44d9b193ab7a2e86b7f63a276f0215d24c3c35d6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5417459" author="milkie" created="Thu, 11 May 2023 12:41:31 +0000"  >&lt;p&gt;Design facets for this:&lt;br/&gt;
The server (mongod and mongos) will support specifying a &quot;default&quot; FCV in the YAML config as well as on the command line.&lt;br/&gt;
When a default FCV is provided, the server will choose to use that FCV when the server notices it is starting up with empty data files (admin.system.version is missing or empty).  It will either choose that FCV if the binary supports it, or if not, it will ignore the default FCV and log an informational message.  If admin.system.version already exists on startup, the server will ignore the default FCV and log an informational message.  If the default FCV provided is not valid (e.g. a version the server does not know), the server will only log an informational message; it won&apos;t abort startup or return any errors.&lt;/p&gt;</comment>
                            <comment id="5321308" author="siyuan.zhou@10gen.com" created="Mon, 3 Apr 2023 20:57:19 +0000"  >&lt;p&gt;This seems a small change to me. Without it, every rapid release will introduce the extra risk and fixing that would be hard and time consuming for Atlas team. I know 7.0 code freeze is coming. Is it possible to add this in 7.1?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <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>4.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_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_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25578"><![CDATA[v7.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>Mon, 3 Apr 2023 18:11:59 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        38 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_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>
                            38 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>huayu.ouyang@mongodb.com</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i22zev:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1lbr4:</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7176">Execution Team 2023-05-15</customfieldvalue>
    <customfieldvalue id="7177">Execution Team 2023-05-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|i22lk7:</customfieldvalue>

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