<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:54:42 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-623] fast new slave from a snapshot</title>
                <link>https://jira.mongodb.org/browse/SERVER-623</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Now that we have lock + fsync we can take clean file system snapshots.&lt;br/&gt;
Given a snapshot of a master (or a slave) we should be able to create a new slave very quickly.&lt;/p&gt;

&lt;p&gt;Process for ec2 &lt;br/&gt;
1) lock + fsync&lt;br/&gt;
2) ebs snapshot&lt;br/&gt;
3) mount snapshot on the new slave&lt;br/&gt;
4) start slave with normal paramets&lt;br/&gt;
5) should know its &quot;new&quot; b/c setup as master, then take the newest value in the oplog and put that in local.sources&lt;/p&gt;

&lt;p&gt;even not on ec2 this should be faster because you can compress the entire data set and don&apos;t have to re-create indexes&lt;/p&gt;</description>
                <environment></environment>
        <key id="11281">SERVER-623</key>
            <summary>fast new slave from a snapshot</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="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="9">Done</resolution>
                                        <assignee username="aaron">Aaron Staple</assignee>
                                    <reporter username="eliot">Eliot Horowitz</reporter>
                        <labels>
                    </labels>
                <created>Wed, 10 Feb 2010 10:23:58 +0000</created>
                <updated>Tue, 12 Jul 2016 00:30:21 +0000</updated>
                            <resolved>Wed, 17 Feb 2010 12:11:10 +0000</resolved>
                                                    <fixVersion>1.3.3</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="12357" author="aaron" created="Wed, 17 Feb 2010 12:09:47 +0000"  >&lt;p&gt;Yeah, --fastsync is only needed for pairs.  With master/slave that option is just ignored and there is no need to restart the master.&lt;/p&gt;</comment>
                            <comment id="12356" author="eliot" created="Wed, 17 Feb 2010 08:32:25 +0000"  >&lt;p&gt;For this case and replica pairs, restarting master is going to be the way.&lt;br/&gt;
We&apos;re going to be working on replica sets, and there we&apos;ll work on more hot changable settings.&lt;br/&gt;
But for this case, i think we&apos;re all set now.&lt;/p&gt;

&lt;p&gt;@aaron --fastsync is only need for pairs, right?  for a regular slave you can just start normally?&lt;/p&gt;</comment>
                            <comment id="12354" author="andrewk" created="Wed, 17 Feb 2010 07:17:40 +0000"  >&lt;p&gt;@aaron - with regard to restarting the master, surely one would want to be working towards a situation where servers are never restarted unless there is something significantly wrong or a major config change is required? This is especially so when dealing with masters.&lt;/p&gt;

&lt;p&gt;I for one would greatly appreciate more commands to control the state of a server / replication pair without restarting them. This &quot;fastsync&quot; is one such command. Another is one would be to control swapping master/slave status in a replication pair.&lt;/p&gt;</comment>
                            <comment id="12352" author="auto" created="Wed, 17 Feb 2010 00:19:04 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-623&quot; title=&quot;fast new slave from a snapshot&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-623&quot;&gt;&lt;del&gt;SERVER-623&lt;/del&gt;&lt;/a&gt; play well with other tests&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/243bb5d0527bf689eba231597cb09e3862a5c72e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/243bb5d0527bf689eba231597cb09e3862a5c72e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="12351" author="aaron" created="Wed, 17 Feb 2010 00:00:40 +0000"  >&lt;p&gt;If we really want to avoid restarting the master, we could implement the reset as a command instead.  But this doesn&apos;t seem to be how we do such things currently (for example replacepeer).&lt;/p&gt;</comment>
                            <comment id="12350" author="aaron" created="Tue, 16 Feb 2010 23:59:06 +0000"  >&lt;p&gt;Ok, the way I have it implemented now once you do the fsync and copy you then have to restart both pair nodes with --fastsync.  This is so the peer oplog positions are set correctly on the master as well as the slave.&lt;/p&gt;</comment>
                            <comment id="12349" author="auto" created="Tue, 16 Feb 2010 23:51:11 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-623&quot; title=&quot;fast new slave from a snapshot&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-623&quot;&gt;&lt;del&gt;SERVER-623&lt;/del&gt;&lt;/a&gt; specify fastsync on both nodes to eliminate slow oplog scan by new pair master&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/241ec02cae768a0da98ebf745269bf4cf9e80b67&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/241ec02cae768a0da98ebf745269bf4cf9e80b67&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="12348" author="auto" created="Tue, 16 Feb 2010 23:51:10 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-623&quot; title=&quot;fast new slave from a snapshot&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-623&quot;&gt;&lt;del&gt;SERVER-623&lt;/del&gt;&lt;/a&gt; implement and test fastsync / snapshot repl pair mode&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/23475ac37fa350480eb0fe5e0c2800c15ad77995&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/23475ac37fa350480eb0fe5e0c2800c15ad77995&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="12347" author="auto" created="Tue, 16 Feb 2010 23:51:09 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-623&quot; title=&quot;fast new slave from a snapshot&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-623&quot;&gt;&lt;del&gt;SERVER-623&lt;/del&gt;&lt;/a&gt; cleanup&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/2f796e3d2a608da167e67cde0dce220f2387191b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/2f796e3d2a608da167e67cde0dce220f2387191b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="12346" author="auto" created="Tue, 16 Feb 2010 23:51:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-623&quot; title=&quot;fast new slave from a snapshot&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-623&quot;&gt;&lt;del&gt;SERVER-623&lt;/del&gt;&lt;/a&gt; use ReplTest fwk for test&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/37949e561c1f3cda3271b4a7939f4995cbcefa46&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/37949e561c1f3cda3271b4a7939f4995cbcefa46&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="12341" author="eliot" created="Tue, 16 Feb 2010 17:03:56 +0000"  >&lt;p&gt;only whey paired&lt;/p&gt;</comment>
                            <comment id="12340" author="aaron" created="Tue, 16 Feb 2010 17:02:42 +0000"  >&lt;p&gt;Do we want to require --fastsync when not paired as well, or only when paired?&lt;/p&gt;</comment>
                            <comment id="12339" author="aaron" created="Tue, 16 Feb 2010 16:29:21 +0000"  >&lt;p&gt;ok thanks, I&apos;ll go with that&lt;/p&gt;</comment>
                            <comment id="12338" author="eliot" created="Tue, 16 Feb 2010 16:09:49 +0000"  >&lt;p&gt;maybe there is a flag for doing so.&lt;br/&gt;
something like --fastsync or something&lt;/p&gt;</comment>
                            <comment id="12337" author="auto" created="Tue, 16 Feb 2010 14:52:04 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-623&quot; title=&quot;fast new slave from a snapshot&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-623&quot;&gt;&lt;del&gt;SERVER-623&lt;/del&gt;&lt;/a&gt; work old boost&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/2b7dd6ad055fa1b8ec9f63dae394985f58a8c417&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/2b7dd6ad055fa1b8ec9f63dae394985f58a8c417&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="12336" author="aaron" created="Tue, 16 Feb 2010 14:47:00 +0000"  >&lt;p&gt;So in a paired context, how would we determine that we&apos;ve just been created from a master snapshot?  Would we just assume this is the case if the --pairwith cmd line spec doesn&apos;t match the saved value?  That might be a bit unsafe - someone could type in the wrong thing and inadvertently wreck their repl node.&lt;/p&gt;</comment>
                            <comment id="12334" author="auto" created="Tue, 16 Feb 2010 14:38:56 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-623&quot; title=&quot;fast new slave from a snapshot&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-623&quot;&gt;&lt;del&gt;SERVER-623&lt;/del&gt;&lt;/a&gt; set new slave sync point to known master tail&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/e0dbd0131feb120ad53cdf00514f8f5ff2885b5d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/e0dbd0131feb120ad53cdf00514f8f5ff2885b5d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="12333" author="auto" created="Tue, 16 Feb 2010 14:38:55 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-623&quot; title=&quot;fast new slave from a snapshot&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-623&quot;&gt;&lt;del&gt;SERVER-623&lt;/del&gt;&lt;/a&gt; basic test from snapshot&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/0ef13aa1d6ee7cb3a16dd2c0e5fff9e3653c4dad&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/0ef13aa1d6ee7cb3a16dd2c0e5fff9e3653c4dad&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="12330" author="eliot" created="Tue, 16 Feb 2010 13:44:45 +0000"  >&lt;p&gt;yes - unless its an order of magnitude harder.&lt;/p&gt;</comment>
                            <comment id="12329" author="aaron" created="Tue, 16 Feb 2010 13:43:14 +0000"  >&lt;p&gt;Does this need to work with repl pairs too or just master slave?&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>20.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 16 Feb 2010 13:43:14 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        14 years, 1 week 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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            14 years, 1 week ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>aaron</customfieldvalue>
            <customfieldvalue>andrewk</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrprwv:</customfieldvalue>

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

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

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