<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:37:14 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-34606] Test (and possibly fix) behavior around majority commit point and oplog truncation</title>
                <link>https://jira.mongodb.org/browse/SERVER-34606</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;First step here is that we need to add a js test for the behavior when replication majority commit point stops the oplog being truncated.&lt;/p&gt;

&lt;p&gt;Depending on what that test turns up, there might be follow-on work to improve that behavior.&lt;/p&gt;</description>
                <environment></environment>
        <key id="532230">SERVER-34606</key>
            <summary>Test (and possibly fix) behavior around majority commit point and oplog truncation</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="maria.vankeulen@mongodb.com">Maria van Keulen</assignee>
                                    <reporter username="ian@mongodb.com">Ian Whalen</reporter>
                        <labels>
                            <label>SWNA</label>
                            <label>nyc</label>
                    </labels>
                <created>Mon, 23 Apr 2018 01:21:19 +0000</created>
                <updated>Sun, 29 Oct 2023 22:32:30 +0000</updated>
                            <resolved>Fri, 22 Jun 2018 15:37:56 +0000</resolved>
                                                    <fixVersion>4.0.3</fixVersion>
                    <fixVersion>4.1.1</fixVersion>
                                    <component>Replication</component>
                    <component>Storage</component>
                                        <votes>0</votes>
                                    <watches>12</watches>
                                                                                                                <comments>
                            <comment id="1996786" author="xgen-internal-githook" created="Fri, 7 Sep 2018 19:57:46 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Maria van Keulen&apos;, &apos;email&apos;: &apos;maria@mongodb.com&apos;, &apos;username&apos;: &apos;mvankeulen94&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34606&quot; title=&quot;Test (and possibly fix) behavior around majority commit point and oplog truncation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34606&quot;&gt;&lt;del&gt;SERVER-34606&lt;/del&gt;&lt;/a&gt; Early return from majority commit point oplog truncation&lt;/p&gt;

&lt;p&gt;(cherry picked from commit c1803e01a3827072b7dcd962a864c62a426824b6)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35747&quot; title=&quot;Check supportsRecoverToStableTimestamp before calling getLastStableCheckpointTimestamp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35747&quot;&gt;&lt;del&gt;SERVER-35747&lt;/del&gt;&lt;/a&gt; Don&apos;t check for timestamps on non timestamp supported SEs&lt;/p&gt;

&lt;p&gt;(cherry picked from commit b7ff5816f4d9d468b1875013384e7e51184628a0)&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/263055e76e41fc4c65dc3fbcaa59ec3a7eedbdcc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/263055e76e41fc4c65dc3fbcaa59ec3a7eedbdcc&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1928293" author="xgen-internal-githook" created="Thu, 21 Jun 2018 22:16:19 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;mvankeulen94&apos;, &apos;name&apos;: &apos;Maria van Keulen&apos;, &apos;email&apos;: &apos;maria@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34606&quot; title=&quot;Test (and possibly fix) behavior around majority commit point and oplog truncation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34606&quot;&gt;&lt;del&gt;SERVER-34606&lt;/del&gt;&lt;/a&gt; Early return from majority commit point oplog truncation&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c1803e01a3827072b7dcd962a864c62a426824b6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c1803e01a3827072b7dcd962a864c62a426824b6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1890128" author="alexander.gorrod" created="Mon, 14 May 2018 04:13:08 +0000"  >&lt;blockquote&gt;&lt;p&gt;Does the counter for failed truncates count the number of busy spins or just the fact that it failed and then we started spinning?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I think it should count the number of busy spins.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;May be a moot point of we eliminate this behavior.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I would hope so - i.e: we can update the algorithm to not busy spin.&lt;/p&gt;</comment>
                            <comment id="1889537" author="bruce.lucas@10gen.com" created="Fri, 11 May 2018 20:11:19 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=alexander.gorrod&quot; class=&quot;user-hover&quot; rel=&quot;alexander.gorrod&quot;&gt;alexander.gorrod&lt;/a&gt; a counter for failed truncates makes sense.&lt;/p&gt;

&lt;p&gt;Does it also make sense to have a counter for &quot;stopped oplog reclaim happening if it would remove content that is older than the majority commit point.&quot;?&lt;/p&gt;

&lt;p&gt;Does the counter for failed truncates count the number of busy spins or just the fact that it failed and then we started spinning? May be a moot point of we eliminate this behavior.&lt;/p&gt;</comment>
                            <comment id="1889088" author="ian@10gen.com" created="Fri, 11 May 2018 14:11:01 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/714b97ba9c7dd8de3351eb811befce6c4b6efd63/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp#L1101&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;This line of code&lt;/a&gt; gets executed way more than once every time we insert that attempts to truncate the oplog, and we expect this execution count to go down drastically if we fix this ticket.&lt;/p&gt;</comment>
                            <comment id="1887688" author="alexander.gorrod" created="Wed, 9 May 2018 23:53:11 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bruce.lucas&quot; class=&quot;user-hover&quot; rel=&quot;bruce.lucas&quot;&gt;bruce.lucas&lt;/a&gt; I believe you can construct the scenario where 1 is happening based on &lt;tt&gt;oplog size&lt;/tt&gt; growing in excess of &lt;tt&gt;oplog maxSize&lt;/tt&gt; and &lt;tt&gt;transaction transaction range of timestamps currently pinned&lt;/tt&gt; being large and growing.&lt;/p&gt;

&lt;p&gt;Regards 2 - I don&apos;t believe there is any tracking. It would make sense to add a server status entry for failed oplog truncate attempts.&lt;/p&gt;</comment>
                            <comment id="1886805" author="bruce.lucas@10gen.com" created="Wed, 9 May 2018 12:03:28 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=alexander.gorrod&quot; class=&quot;user-hover&quot; rel=&quot;alexander.gorrod&quot;&gt;alexander.gorrod&lt;/a&gt;, do we have ftdc metrics that tell us whether your items 1 and 2 are occurring?&lt;/p&gt;</comment>
                            <comment id="1886555" author="alexander.gorrod" created="Wed, 9 May 2018 02:17:10 +0000"  >&lt;p&gt;For additional context, there was a change made as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-29213&quot; title=&quot;Have KVWiredTigerEngine implement StorageEngine::recoverToStableTimestamp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-29213&quot;&gt;&lt;del&gt;SERVER-29213&lt;/del&gt;&lt;/a&gt; that &lt;a href=&quot;https://github.com/mongodb/mongo/blame/master/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp#L1100&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;stopped oplog reclaim&lt;/a&gt; happening if it would remove content that is older than the majority commit point.&lt;/p&gt;

&lt;p&gt;That is a change with user visible consequences - as some internal testing has uncovered. There are two potential behavior differences now:&lt;br/&gt;
1) The oplog may grow above the configured maximum size when either the oplog is small or the majority commit point falls behind.&lt;br/&gt;
2) There is a utility thread that reclaims space from the oplog - that thread will now potentially enter a busy spin attempting to reclaim space from the oplog. Doing so may introduce performance issues.&lt;/p&gt;

&lt;p&gt;The goal of this ticket is to characterize the user-visible changes, and to add a test to automated testing which tests the new behavior and ensures it is reasonable (yet to be defined).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="563054">SERVER-35747</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="519860">TOOLS-1993</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="537288">TOOLS-2027</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="383656">SERVER-29213</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>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15640"><![CDATA[v4.0]]></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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 25 Apr 2018 18:39:55 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 22 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_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>
                            5 years, 22 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alexander.gorrod@mongodb.com</customfieldvalue>
            <customfieldvalue>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>ian@mongodb.com</customfieldvalue>
            <customfieldvalue>maria.vankeulen@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htw49b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htp5db:</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_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="2328">Storage NYC 2018-06-04</customfieldvalue>
    <customfieldvalue id="2329">Storage NYC 2018-06-18</customfieldvalue>
    <customfieldvalue id="2391">Storage NYC 2018-07-02</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htvqhj:</customfieldvalue>

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