<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:27:13 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-31487] Replace replSetSyncFrom resync option with initialSyncSource server parameter</title>
                <link>https://jira.mongodb.org/browse/SERVER-31487</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;resync is broken and not being fixed, but we still do resyncs in replSetSyncFrom which is dangerous. A safer way and cleaner way to choose a sync source would be a server parameter that specifies a preferred sync source for initial sync.&lt;/p&gt;</description>
                <environment></environment>
        <key id="443242">SERVER-31487</key>
            <summary>Replace replSetSyncFrom resync option with initialSyncSource server parameter</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="3">Duplicate</resolution>
                                        <assignee username="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="judah.schvimer@mongodb.com">Judah Schvimer</reporter>
                        <labels>
                            <label>former-quick-wins</label>
                            <label>initialSync</label>
                    </labels>
                <created>Tue, 10 Oct 2017 15:07:49 +0000</created>
                <updated>Tue, 6 Dec 2022 03:49:40 +0000</updated>
                            <resolved>Fri, 6 Dec 2019 20:09:01 +0000</resolved>
                                                                    <component>Replication</component>
                                        <votes>1</votes>
                                    <watches>13</watches>
                                                                                                                <comments>
                            <comment id="1942612" author="siyuan.zhou@10gen.com" created="Mon, 9 Jul 2018 23:59:10 +0000"  >&lt;p&gt;Since `--setParameter` can be given &lt;a href=&quot;https://docs.mongodb.com/manual/reference/parameters/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;on startup&lt;/a&gt;, introducing the new flag as a server parameter sounds a valid solution.&lt;/p&gt;</comment>
                            <comment id="1942318" author="siyuan.zhou@10gen.com" created="Mon, 9 Jul 2018 19:17:30 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=alyson.cabral&quot; class=&quot;user-hover&quot; rel=&quot;alyson.cabral&quot;&gt;alyson.cabral&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31239&quot; title=&quot;Disable resync command and remove tests&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31239&quot;&gt;&lt;del&gt;SERVER-31239&lt;/del&gt;&lt;/a&gt; has removed the resync command. The purpose of this ticket is to remove the resync behavior of `replSetSyncFrom` when running against a node in initial sync. The reason we removed the resync command and behavior is that the state management of replication is implicit and the concurrency around resync is complex and not clear. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=schwerin&quot; class=&quot;user-hover&quot; rel=&quot;schwerin&quot;&gt;schwerin&lt;/a&gt; suggested considering adding resync back when the initial sync state becomes explicit as part of our faster and robust initial sync projects.&lt;/p&gt;

&lt;p&gt;Instead of adding a startup parameter to specify the sync source, Andy suggested adding a startup parameter to make the node in &quot;waiting for specifying sync source&quot; mode. Then a `replSetSyncFrom` command will specify the sync source and start initial sync. The implementation details need some design and would take longer than what we allocated for quick wins.&lt;/p&gt;</comment>
                            <comment id="1941858" author="tess.avitabile" created="Mon, 9 Jul 2018 14:34:43 +0000"  >&lt;p&gt;Can you explain what would be intrusive about adding a startup parameter? I think that would be a good solution, to avoid having to set a runtime parameter in a narrow time window.&lt;/p&gt;</comment>
                            <comment id="1941835" author="alyson.cabral" created="Mon, 9 Jul 2018 14:23:03 +0000"  >&lt;p&gt;Does the resync command have these same problems today? &lt;/p&gt;</comment>
                            <comment id="1939726" author="siyuan.zhou@10gen.com" created="Thu, 5 Jul 2018 18:03:03 +0000"  >&lt;p&gt;The only supported procedure of initial sync is 1) start a node, 2) the node gets a replset config, which enables replication, 3) the node enters initial sync. This ticket is to allow changing the sync source before step 2 by setting the server parameter. However, this only works for a replset before initialization, where all nodes are waiting for the very first config and the user could have enough time to set the initial sync source. In the most common cases where all nodes already have the replset config and keep sending heartbeats to each other, the newly added node that will do an initial sync only has at most 2 seconds before it receives the heartbeat and sends another one to fetch the config. The time window for a user to set the sync source of initial sync on the new node is pretty narrow.&lt;/p&gt;

&lt;p&gt;Adding a new startup parameter or adding a new field to replset config to specify the initial sync node will solve the problem but both seem too intrusive. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=alyson.cabral&quot; class=&quot;user-hover&quot; rel=&quot;alyson.cabral&quot;&gt;alyson.cabral&lt;/a&gt; and &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;, what do you think about the behavioral change?&lt;/p&gt;

&lt;p&gt;If we decide to follow the original design, I would propose to allow replSetSyncFrom command before a node is initialized, which is the minimal code change.&lt;/p&gt;</comment>
                            <comment id="1869346" author="spencer" created="Thu, 19 Apr 2018 20:13:09 +0000"  >&lt;p&gt;As part of this we should remove any lingering code related to the resync command.&lt;/p&gt;</comment>
                            <comment id="1850361" author="spencer" created="Fri, 30 Mar 2018 17:36:17 +0000"  >&lt;p&gt;Note, we&apos;ll keep around replSetSyncFrom for specifying a sync source for steady state replication.  This ticket is to remove the &apos;resync&apos; option from replSetSyncFrom and use the new server parameter as the way for specifying a sync source for initial sync.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="980315">SERVER-44272</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="495434">SERVER-33208</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="980315">SERVER-44272</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="375115">SERVER-28840</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="553818">SERVER-35372</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="659102">SERVER-38731</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>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_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>Fri, 30 Mar 2018 17:36:17 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 31 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<a href='https://jira.mongodb.org/browse/WRITING-3033'>WRITING-3033</a>, <s><a href='https://jira.mongodb.org/browse/CLOUDP-34532'>CLOUDP-34532</a></s>]]></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>
                            5 years, 31 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alyson.cabral@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
            <customfieldvalue>spencer@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|hthgjb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr6sin:</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="2297">Repl 2018-06-18</customfieldvalue>
    <customfieldvalue id="2298">Repl 2018-07-02</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|hth2n3:</customfieldvalue>

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