<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:54:20 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-510] more real-time replication</title>
                <link>https://jira.mongodb.org/browse/SERVER-510</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description></description>
                <environment></environment>
        <key id="11056">SERVER-510</key>
            <summary>more real-time replication</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="9">Done</resolution>
                                        <assignee username="dwight@mongodb.com">Dwight Merriman</assignee>
                                    <reporter username="eliot">Eliot Horowitz</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Dec 2009 16:11:10 +0000</created>
                <updated>Tue, 12 Jul 2016 00:27:35 +0000</updated>
                            <resolved>Fri, 2 Apr 2010 16:57:47 +0000</resolved>
                                                    <fixVersion>1.5.0</fixVersion>
                                    <component>Replication</component>
                                        <votes>5</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="13826" author="eliot" created="Mon, 26 Apr 2010 13:51:14 +0000"  >&lt;p&gt;in a release&lt;/p&gt;</comment>
                            <comment id="11779" author="eliot" created="Thu, 14 Jan 2010 12:58:13 +0000"  >&lt;p&gt;the mater and slave are under the same write load, since the slave has to apply all the writes if you want it current.&lt;/p&gt;</comment>
                            <comment id="11778" author="electic" created="Thu, 14 Jan 2010 12:55:06 +0000"  >&lt;p&gt;I cannot read from the master as it is under write load and locked. The reads also incur locks so that means the writes backup.&lt;/p&gt;</comment>
                            <comment id="11774" author="eliot" created="Thu, 14 Jan 2010 09:35:38 +0000"  >&lt;p&gt;Those are fine if they are active 0.&lt;/p&gt;

&lt;p&gt;The slave has a certain capacity, more writes on the master means more writes on the slave.&lt;/p&gt;

&lt;p&gt;why are you reading from the slave and not just from the master?&lt;/p&gt;

&lt;p&gt;The problem isn&apos;t with replication, just with load.&lt;br/&gt;
So there are 2 options:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;optimize queries so load goes down&lt;/li&gt;
	&lt;li&gt;add more read slaves&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="11770" author="electic" created="Thu, 14 Jan 2010 06:18:40 +0000"  >&lt;p&gt;I posted this on the discussion group but I thought I would put a more extensive log here since this is dealing with replication. Version 1.2.0: &lt;/p&gt;

&lt;p&gt;currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: -1, ns: &quot;&quot;, query: &quot;&quot;, inLock: 1, client: &quot;0.0.0.0:0&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 0, ns: &quot;&quot;, query: &quot;&quot;, inLock: 1, client: &quot;48.49.51.59:12848&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 276, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51194&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 503, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51080&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 640429508, ns: &quot;&quot;, query: &quot;&quot;, inLock: 1, client: &quot;0.0.0.0:0&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 565, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:50870&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 1634427745, ns: &quot;ges&quot;, query: &quot;&quot;,&amp;amp;&quot;, inLock: 1, client: &quot;59.38.35.51:50&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 1754712282, ns: &quot;(&#127;&quot;, query: &quot;&quot;, inLock: 1, client: &quot;1.0.0.0:0&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 15068368, ns: &quot;&quot;, query: &quot;s&quot;, inLock: 1, client: &quot;116.112.58.47:26740&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 495, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51074&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 546, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:50960&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 1714893363, ns: &quot;-92b4-c36cf2979231&quot;, query: &quot;rzt&quot;, inLock: 1, client: &quot;99.97.114.105:24942&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 2048, ns: &quot;&quot;, query: &quot;1608;&amp;amp;&quot;, inLock: 1, client: &quot;8.0.0.0:13824&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 543, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51140&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 0, ns: &quot;&quot;, query: &quot;&quot;, inLock: 1, client: &quot;0.0.0.0:57600&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 628, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51038&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 694, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51044&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 637, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:50948&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 690, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:50954&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 19278902, ns: &quot;&quot;, query: &quot;&quot;, inLock: 1, client: &quot;0.0.0.0:0&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 926100787, ns: &quot;99-811e-0bf0a7dc26d0&quot;, query: &quot;desypratiwi&quot;, inLock: 1, client: &quot;0.109.115.107:0&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 703, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51020&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): { opid: 0, active: 0, op: -1, ns: &quot;5;&amp;amp;&quot;, query: &quot;lished_-1 864 { : &quot;??????...&quot;, inLock: 1, client: &quot;48.50.58.51:13344&quot; } &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 14792896, ns: &quot;&quot;, query: &quot;&quot;, inLock: 1, client: &quot;3.0.0.0:25856&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 502, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51092&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 0, ns: &quot;&quot;, query: &quot;ebowman Yeah, no bloody laptop sockets in economy hey!?&quot;, inLock: 1, client: &quot;116.112.58.47:26740&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 395, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51128&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 288, active: 0, op: &quot;insert&quot;, ns: &quot;microblog.twitter&quot;, query: &quot;&quot;, inLock: 1, client: &quot;192.168.8.32:51248&quot; }
&lt;p&gt; &lt;br/&gt;
currentOp (unlocked): &lt;/p&gt;
{ opid: 0, active: 0, op: 0, ns: &quot;&quot;, query: &quot;&quot;, inLock: 1, client: &quot;0.0.0.0:0&quot; }
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Could all these bogus repl entries be impacting my performance in replication? Anything that does not have 192.168.8.32 is bogus.&lt;/p&gt;</comment>
                            <comment id="11769" author="electic" created="Thu, 14 Jan 2010 05:07:19 +0000"  >&lt;p&gt;That might be true but the reverse also applies. If there are writes that lock the master db a lot, I tried it as low as 200 writes a second, the slave seems to fall behind. Right now I am running a test where the slave is about 8 hours behind.&lt;/p&gt;

&lt;p&gt;Thu Jan 14 01:53:55 connection accepted from 192.168.8.38:42875 #2082&lt;br/&gt;
Thu Jan 14 01:53:56 end connection 192.168.8.38:42875&lt;br/&gt;
Thu Jan 14 01:55:01 repl:   checkpoint applied 825 operations&lt;br/&gt;
Thu Jan 14 01:55:01 repl:   syncedTo: Wed Jan 13 15:27:08 2010 4b4e56cc:1e&lt;br/&gt;
Thu Jan 14 01:56:02 repl:   checkpoint applied 1005 operations&lt;br/&gt;
Thu Jan 14 01:56:02 repl:   syncedTo: Wed Jan 13 15:28:05 2010 4b4e5705:7&lt;/p&gt;

&lt;p&gt;It is Thursday, Jan 14th 2:05 AM. Unless I turn off the writes, I do not see how the slave will ever catch up. I am hoping, thought I could be wrong, that the read/write locks in 1.3.0 solve this issue where the slave can at least read the oplog while the master is in write long. My guess is right now that is what is causing this,&lt;/p&gt;</comment>
                            <comment id="11754" author="eliot" created="Wed, 13 Jan 2010 14:08:13 +0000"  >&lt;p&gt;There isn&apos;t really anyway to make that better unless we prioritize replication over regular queries, which is not what most people want.&lt;/p&gt;

&lt;p&gt;So in your case you probably just need 2 slaves for more read capacity.  (After making sure things are indexed correctly, etc...)&lt;/p&gt;</comment>
                            <comment id="11683" author="electic" created="Sun, 10 Jan 2010 17:06:32 +0000"  >&lt;p&gt;Yes, it does catch up, but takes awhile to do it. Does replication use the entire line, it seems to do it in bursts? In any case, yes the system is doing a lot of queries at a time, so under heavy load it can fall behind, but if you stop the load it does catch back up. Just feel like that can be more isolated because a fall behind is not only lag, its lag + the time it takes to catch back up:/&lt;/p&gt;</comment>
                            <comment id="11682" author="dwight_10gen" created="Sun, 10 Jan 2010 09:58:29 +0000"  >&lt;p&gt;there&apos;s no explicit prioritization of replication over other queries on the master, so if it is overloaded it would fall behind.&lt;/p&gt;

&lt;p&gt;it&apos;s also possible with v1.2 and lower that an extremely long running query is making it fall behind&lt;/p&gt;

&lt;p&gt;if there are no queries happening, i take it things keep up?&lt;/p&gt;

&lt;p&gt;in general we find replication keeps up in most deployments so thus trying to figure out the scenario.&lt;/p&gt;</comment>
                            <comment id="11664" author="electic" created="Thu, 7 Jan 2010 11:31:36 +0000"  >&lt;p&gt;If you lock the db a lot doing a lot of read queries with cursors, or maybe it is just load due to the high amount of reads, the slave falls behind, 2000 seconds or more.&lt;/p&gt;</comment>
                            <comment id="11646" author="dwight_10gen" created="Wed, 6 Jan 2010 12:02:28 +0000"  >&lt;p&gt;can you provide more detail&lt;/p&gt;

&lt;p&gt;are you saying the slave lags by say, 3 seconds, or that it falls way, way behind?&lt;/p&gt;</comment>
                            <comment id="11642" author="electic" created="Wed, 6 Jan 2010 04:28:08 +0000"  >&lt;p&gt;I hope this fixes the issue when slaves are under high read load that replication falls behind. At this point, with 1.20, Mongo really has no replication.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="10973">SERVER-467</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>12.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 6 Jan 2010 04:28:08 +0000</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            13 years, 43 weeks, 2 days 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>dwight@mongodb.com</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>electic</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrptdr:</customfieldvalue>

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

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

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