<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:43:22 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-17124] Ability to start a node in maintenance mode</title>
                <link>https://jira.mongodb.org/browse/SERVER-17124</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Under certain conditions, it is preferred to have a node start and join the replica set, but not be the target for any client reads.&lt;/p&gt;

&lt;p&gt;A config option to set maintenance mode on start would ensure that the member doesn&apos;t take any queries until an operator affirmatively verifies it&apos;s good to go. For larger deployments with lots of shards &amp;amp; replicas, a few nodes in maintenance mode waiting for manual verification is operationally safer than serving stale data.&lt;/p&gt;</description>
                <environment></environment>
        <key id="181576">SERVER-17124</key>
            <summary>Ability to start a node in maintenance mode</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="alan.zheng@mongodb.com">Alan Zheng</assignee>
                                    <reporter username="andre.defrere@mongodb.com">Andre de Frere</reporter>
                        <labels>
                    </labels>
                <created>Thu, 29 Jan 2015 22:56:06 +0000</created>
                <updated>Tue, 5 Apr 2022 19:12:32 +0000</updated>
                                                                            <component>Replication</component>
                                        <votes>2</votes>
                                    <watches>23</watches>
                                                                                                                <comments>
                            <comment id="3023836" author="bartle" created="Thu, 2 Apr 2020 19:06:06 +0000"  >&lt;p&gt;fwiw, we recently switched away from this approach and now reconfigure the replset to make the node under maintenance hidden with priority 0.&lt;/p&gt;</comment>
                            <comment id="1951991" author="bartle" created="Fri, 20 Jul 2018 06:12:19 +0000"  >&lt;p&gt;I think that&apos;s the ideal solution, but it can be difficult to audit every application that connects to mongo and uses secondary read preference.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;For some background, the way we perform long-running maintenance tasks (e.g. index builds) is:&lt;/p&gt;

&lt;p&gt;1) Restart node without --replst and on some alternate port (e.g. 9000)&lt;/p&gt;

&lt;p&gt;2) Performance maintenance task&lt;/p&gt;

&lt;p&gt;3) Update &lt;tt&gt;local.replset.minvalid&lt;/tt&gt; to the current time&lt;/p&gt;

&lt;p&gt;4) Restart node with --replset on the standard port (i.e. 27017)&lt;/p&gt;

&lt;p&gt;5) adminCommand({replSetMaintenance: 1})&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Step 3 ensures that the node will remain in RECOVERING state until it&apos;s caught up to minvalid, which gives us ample time to switch the node to maintenance mode.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;A less hacky solution might be to allow maintenance mode to be persistent across mongod restarts.&lt;/p&gt;</comment>
                            <comment id="1745795" author="asya" created="Thu, 7 Dec 2017 18:54:25 +0000"  >&lt;p&gt;Note that if clients don&apos;t want to read stale data they should use the driver option &lt;a href=&quot;https://docs.mongodb.com/manual/core/read-preference/#maxstalenessseconds&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;maxStalenessSeconds&lt;/a&gt; to avoid reading from still catching up secondaries.&lt;/p&gt;</comment>
                            <comment id="1745788" author="asya" created="Thu, 7 Dec 2017 18:50:58 +0000"  >&lt;p&gt;One can start up and do &lt;tt&gt;replSetMaintenance&lt;/tt&gt; command but that leaves a window open for clients to connect.&lt;/p&gt;

&lt;p&gt;Would ability to start up with flag that run &lt;a href=&quot;https://docs.mongodb.com/manual/reference/command/replSetMaintenance/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;replSetMaintenance&lt;/a&gt; before coming on line for clients.&lt;/p&gt;</comment>
                            <comment id="1745781" author="asya" created="Thu, 7 Dec 2017 18:49:11 +0000"  >&lt;p&gt;So be able to start up in MAINTENANCE mode by option.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="634871">SERVER-38171</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_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000UaUA7IAN]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 27 Sep 2017 15:59:40 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 44 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_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>elizabeth.roytburd@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 44 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alan.zheng@mongodb.com</customfieldvalue>
            <customfieldvalue>andre.defrere@mongodb.com</customfieldvalue>
            <customfieldvalue>asya.kamsky@mongodb.com</customfieldvalue>
            <customfieldvalue>bartle</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrldan:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr2x2t:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>159529</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_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|hsg9v3:</customfieldvalue>

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