<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:49:50 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-38731] Ability to specify sync source read preference in initial sync</title>
                <link>https://jira.mongodb.org/browse/SERVER-38731</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Our current implementation of choosing a sync source for initial sync as well as steady state sync could be improved to include preferences provided by the user for situations including:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;not wanting to sync from the primary to mitigate impact to production applications that are targeting the primary&lt;/li&gt;
	&lt;li&gt;preference to sync from a node on the same LAN vs having multiple nodes make the trip across the WAN (even if ping times would dictate otherwise)&lt;/li&gt;
	&lt;li&gt;syncing from a specific node based on specific user preference&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;If the preference is not specified or can not be accommodated then we should fall back to choosing based on latency and currency as we do today.&#160;&#160;&lt;/p&gt;

&lt;p&gt;It would be helpful for the specification of a sync source preference to be part of the replica set configuration so it is easily noticed and easily managed.&#160; The log should reflect the preference and the reason it was overridden when need be.&lt;/p&gt;</description>
                <environment></environment>
        <key id="659102">SERVER-38731</key>
            <summary>Ability to specify sync source read preference in initial sync</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="13201">Fixed</resolution>
                                        <assignee username="matthew.russotto@mongodb.com">Matthew Russotto</assignee>
                                    <reporter username="arnie.listhaus@mongodb.com">Arnie Listhaus</reporter>
                        <labels>
                    </labels>
                <created>Thu, 20 Dec 2018 20:40:07 +0000</created>
                <updated>Sun, 29 Oct 2023 22:25:31 +0000</updated>
                            <resolved>Wed, 18 Mar 2020 19:41:36 +0000</resolved>
                                                    <fixVersion>4.4.0-rc0</fixVersion>
                    <fixVersion>4.2.7</fixVersion>
                    <fixVersion>4.7.0</fixVersion>
                                    <component>Replication</component>
                                        <votes>1</votes>
                                    <watches>17</watches>
                                                                                                                <comments>
                            <comment id="3049504" author="xgen-internal-githook" created="Tue, 21 Apr 2020 17:55:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Matthew Russotto&apos;, &apos;email&apos;: &apos;matthew.russotto@10gen.com&apos;, &apos;username&apos;: &apos;mtrussotto&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38731&quot; title=&quot;Ability to specify sync source read preference in initial sync&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38731&quot;&gt;&lt;del&gt;SERVER-38731&lt;/del&gt;&lt;/a&gt; Implement ability to specify sync source read preference in initial sync&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5988fe51d7a18c022b51eda6f7243123b4e9a6ab&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5988fe51d7a18c022b51eda6f7243123b4e9a6ab&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3005371" author="xgen-internal-githook" created="Fri, 27 Mar 2020 22:02:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Matthew Russotto&apos;, &apos;username&apos;: &apos;mtrussotto&apos;, &apos;email&apos;: &apos;matthew.russotto@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38731&quot; title=&quot;Ability to specify sync source read preference in initial sync&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38731&quot;&gt;&lt;del&gt;SERVER-38731&lt;/del&gt;&lt;/a&gt; Implement ability to specify sync source read preference in initial sync&lt;/p&gt;

&lt;p&gt;(cherry-picked from commit 7296a460f826c8a618147e09606c5f1935c482a4)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/38cbeab8b2033274fdbbcf692a8c8a4f69febd4f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/38cbeab8b2033274fdbbcf692a8c8a4f69febd4f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3003988" author="judah.schvimer" created="Fri, 27 Mar 2020 13:08:10 +0000"  >&lt;p&gt;When backporting to 4.2 we should make the default read preference always &apos;nearest&apos; to not have a minor version behavior change.&lt;/p&gt;</comment>
                            <comment id="2985520" author="xgen-internal-githook" created="Wed, 18 Mar 2020 17:59:01 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;matthew.russotto@10gen.com&apos;, &apos;name&apos;: &apos;Matthew Russotto&apos;, &apos;username&apos;: &apos;mtrussotto&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38731&quot; title=&quot;Ability to specify sync source read preference in initial sync&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38731&quot;&gt;&lt;del&gt;SERVER-38731&lt;/del&gt;&lt;/a&gt; Implement ability to specify sync source read preference in initial sync&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/7296a460f826c8a618147e09606c5f1935c482a4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/7296a460f826c8a618147e09606c5f1935c482a4&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2905138" author="judah.schvimer" created="Mon, 24 Feb 2020 17:13:59 +0000"  >&lt;p&gt;Agreed upon behavior:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;We will add a new startup parameter, &#8216;initialSyncSourceReadPreference&#8217;, which when present, must be a string equal to one of the acceptable read preference modes.
	&lt;ul&gt;
		&lt;li&gt;Note, if the user specifies &#8216;readPreference: primary&#8217; and there is no primary, they will not be able to initial sync. Presumably this is the behavior they desire.&lt;/li&gt;
		&lt;li&gt;This will not support the use of tags or &#8216;maxStalenessSeconds&#8217; in the read preference.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Default for re-syncing nodes (initial syncing nodes with &#8216;votes: 1&#8217;) is &#8216;primaryPreferred&#8217;&lt;/li&gt;
	&lt;li&gt;Default for newly added nodes (initial syncing nodes with &#8216;votes: 0&#8217;) is &#8216;nearest&#8217;&lt;/li&gt;
	&lt;li&gt;This parameter will take precedence over &#8216;chainingAllowed: false&#8217; when explicitly present, though the defaults will not take precedence over &#8216;chainingAllowed: false&#8217;.&lt;/li&gt;
	&lt;li&gt;We will use heartbeat information to choose a sync source based on read preference.
	&lt;ul&gt;
		&lt;li&gt;&#8216;nearest&#8217; will essentially work as today.&lt;/li&gt;
		&lt;li&gt;&#8216;primary&#8217; will essentially work as &#8216;chainingAllowed: false&#8217; today.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;

</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="1280810">DOCS-13526</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="443242">SERVER-31487</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="980315">SERVER-44272</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1286922">SERVER-47056</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_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="18953"><![CDATA[v4.4]]></customfieldvalue>
    <customfieldvalue key="16775"><![CDATA[v4.2]]></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_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000hRZVmQAO]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 21 Dec 2018 16:33:25 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 42 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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Adds parameter initialSyncSourceReadPreference; see Initial Sync Semantics documentation.&lt;br/&gt;
</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16942"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1096</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, 42 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>arnie.listhaus@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>matthew.russotto@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|huh53b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hu76fr:</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="3577">Repl 2020-03-09</customfieldvalue>
    <customfieldvalue id="3766">Repl 2020-03-23</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_17051" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Teams Impacted</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16944"><![CDATA[Docs]]></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|hugrcn:</customfieldvalue>

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