<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:01:45 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-65054] Avoid slow insert batches blocking replication</title>
                <link>https://jira.mongodb.org/browse/SERVER-65054</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;We now have a tunable max batch size for inserts (typically 500).&#160; While an insert batch is being inserted, replication of any operations started after the batch is blocked because insert holds open an oplog hole.&#160; Normally this is fine, but if the inserts are slow, this can cause overall replication lag; if we could prevent this or detect this (e.g. break up an insert batch when it gets long) we could avoid lag.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2011730">SERVER-65054</key>
            <summary>Avoid slow insert batches blocking 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="1" iconUrl="https://jira.mongodb.org/images/icons/statuses/open.png" description="">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="matthew.russotto@mongodb.com">Matthew Russotto</reporter>
                        <labels>
                    </labels>
                <created>Tue, 29 Mar 2022 21:49:39 +0000</created>
                <updated>Wed, 10 Jan 2024 10:17:25 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>45</watches>
                                                                                                                <comments>
                            <comment id="5536171" author="geert.bosch" created="Fri, 30 Jun 2023 10:07:39 +0000"  >&lt;p&gt;Both settings were related to the amount of work we&apos;d aim to do in a single transaction. However, that reasoning related to amount of work to do under a transaction, and did not anticipate the lengthening of the amount of time that the critical section for advancing the allDurable would be held. The fix in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-78556&quot; title=&quot;Return default of internalInsertMaxBatchSize to 64&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-78556&quot;&gt;SERVER-78556&lt;/a&gt; should be safe and expedient.&lt;/p&gt;</comment>
                            <comment id="5286224" author="vishnu.kaushik" created="Mon, 20 Mar 2023 20:12:34 +0000"  >&lt;p&gt;We were trying to use the new feature built in PM-2780 to &lt;tt&gt;groupOplogEntries&lt;/tt&gt; which lets us group oplog entries for operations into a single apply ops oplog entry (see the code review I put up previously). However it seems the new feature doesn&apos;t support retryable writes.&lt;/p&gt;

&lt;p&gt;For that reason we are going to use the timer approach outlined above instead.&lt;/p&gt;</comment>
                            <comment id="4840950" author="louis.williams" created="Tue, 20 Sep 2022 09:53:05 +0000"  >&lt;p&gt;No objections. This is what we&apos;re already doing in the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/0cb0296de7ee3aa5083186bc10d57de193cf1c59/src/mongo/db/exec/batched_delete_stage.cpp#L511-L515&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;BatchedDeleteStage&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="4839327" author="judah.schvimer" created="Mon, 19 Sep 2022 18:34:24 +0000"  >&lt;p&gt;I&apos;m curious if anyone watching this ticket objects to &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=matthew.russotto%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;matthew.russotto@mongodb.com&quot;&gt;matthew.russotto@mongodb.com&lt;/a&gt;&apos;s suggestion in the description to start a timer when we start applying the batch and breakup the batch after some (configurable) period of time.&lt;/p&gt;</comment>
                            <comment id="4455707" author="judah.schvimer" created="Mon, 4 Apr 2022 18:17:07 +0000"  >&lt;p&gt;Transactionalizing inserts would reduce the amount of time an oplog hole was open, which might help.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1954442">SERVER-62193</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2380797">SERVER-78556</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2149660">SERVER-70155</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1867214">SERVER-59776</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1915961">SERVER-61185</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>6.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_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5006R00001nrODhQAM, 5006R00001qFjs7QAC, 5006R00001ssYtDQAU, 5006R00001uM3AQQA0, 5006R00001vzKLBQA2, 5006R00001y6LTKQA2]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 4 Apr 2022 18:17:07 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        31 weeks, 5 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-3381</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>eric.sommer@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            31 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>geert.bosch@mongodb.com</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>louis.williams@mongodb.com</customfieldvalue>
            <customfieldvalue>matthew.russotto@mongodb.com</customfieldvalue>
            <customfieldvalue>vishnu.kaushik@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0ozrb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr1mou:9</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="6863">Repl 2023-03-06</customfieldvalue>
    <customfieldvalue id="6864">Repl 2023-03-20</customfieldvalue>
    <customfieldvalue id="7168">Repl 2023-04-03</customfieldvalue>
    <customfieldvalue id="7169">Repl 2023-04-17</customfieldvalue>
    <customfieldvalue id="7170">Repl 2023-05-01</customfieldvalue>
    <customfieldvalue id="7171">Repl 2023-05-15</customfieldvalue>

                        </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|i0olwn:</customfieldvalue>

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