<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:24:22 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-51049] Cannot assume recovery timestamp can be found in oplog</title>
                <link>https://jira.mongodb.org/browse/SERVER-51049</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;During recovery, we assume the oplogApplicationStartPoint (which derives from the stable timestamp)&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/blob/2c446f3f587f406c23cdfca87f227ee5cd466fa8/src/mongo/db/repl/replication_recovery.cpp#L165&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/2c446f3f587f406c23cdfca87f227ee5cd466fa8/src/mongo/db/repl/replication_recovery.cpp#L165&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the&#160;PM-1713&lt;br/&gt;
Remove Stable Optime Candidates List project, this is no longer the case. If the oplogApplicationStartPoint is not present in the oplog, that&apos;s OK. In this case we must apply every entry in the oplog query (i.e. we do NOT skip the first entry)&lt;/p&gt;

&lt;p&gt;It is also the case that the oplog query may return no oplog entries, so the check here&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/2c446f3f587f406c23cdfca87f227ee5cd466fa8/src/mongo/db/repl/replication_recovery.cpp#L149&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/2c446f3f587f406c23cdfca87f227ee5cd466fa8/src/mongo/db/repl/replication_recovery.cpp#L149&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;is also incorrect and should be replaced with a log message.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1480171">SERVER-51049</key>
            <summary>Cannot assume recovery timestamp can be found in oplog</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="matthew.russotto@mongodb.com">Matthew Russotto</assignee>
                                    <reporter username="matthew.russotto@mongodb.com">Matthew Russotto</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Sep 2020 16:03:41 +0000</created>
                <updated>Sun, 29 Oct 2023 22:02:58 +0000</updated>
                            <resolved>Mon, 7 Dec 2020 16:14:58 +0000</resolved>
                                                    <fixVersion>4.9.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="3515277" author="xgen-internal-githook" created="Thu, 3 Dec 2020 21:36:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Matthew Russotto&apos;, &apos;email&apos;: &apos;matthew.russotto@mongodb.com&apos;, &apos;username&apos;: &apos;mtrussotto&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51049&quot; title=&quot;Cannot assume recovery timestamp can be found in oplog&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51049&quot;&gt;&lt;del&gt;SERVER-51049&lt;/del&gt;&lt;/a&gt; Cannot assume recovery timestamp can be found in oplog&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/0bd12794bfe9a109747e17f6a022664a002c47de&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/0bd12794bfe9a109747e17f6a022664a002c47de&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3488021" author="matthew.russotto" created="Thu, 12 Nov 2020 18:23:56 +0000"  >&lt;p&gt;This is still going to fail after &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51158&quot; title=&quot;Must not truncate entire oplog before truncate point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51158&quot;&gt;&lt;del&gt;SERVER-51158&lt;/del&gt;&lt;/a&gt; because while we are assured there is an oplog entry at or before the stable timestamp, the code assumes the stable timestamp itself has an oplog entry.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/c575750f73b7a490a60919777dc49c45ec4f2e0c/src/mongo/db/repl/replication_recovery.cpp#L481&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/c575750f73b7a490a60919777dc49c45ec4f2e0c/src/mongo/db/repl/replication_recovery.cpp#L481&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The correct oplogApplicationTimestamp is the timestamp of the first oplog entry at or before the stable timestamp, which is guaranteed to exist by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51158&quot; title=&quot;Must not truncate entire oplog before truncate point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51158&quot;&gt;&lt;del&gt;SERVER-51158&lt;/del&gt;&lt;/a&gt;, so we can fix it with one more oplog lookup to find that entry.&lt;/p&gt;</comment>
                            <comment id="3484000" author="matthew.russotto" created="Tue, 10 Nov 2020 18:49:18 +0000"  >&lt;p&gt;After &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51158&quot; title=&quot;Must not truncate entire oplog before truncate point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51158&quot;&gt;&lt;del&gt;SERVER-51158&lt;/del&gt;&lt;/a&gt; we know there is an oplog entry before the stable timestamp, but I need to determine whether or not the oplogApplicationStartPoint is definitely there.&lt;/p&gt;</comment>
                            <comment id="3409606" author="daniel.gottlieb@10gen.com" created="Thu, 24 Sep 2020 15:22:38 +0000"  >&lt;p&gt;I don&apos;t have enough information to take a guess as to why we haven&apos;t seen this yet. I&apos;m on board with that we can select a stable timestamp with an &quot;i: 0&quot;. But I&apos;d need a more detailed explanation of how we got there. Backing out from the observation of an &quot;i: 0&quot; stable timestamp:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;I assume a (secondary) node heard of a commit point of &quot;i: 1&quot;&lt;/li&gt;
	&lt;li&gt;And I assume its &lt;tt&gt;lastApplied&lt;/tt&gt; was also &quot;i: 1&quot;&lt;/li&gt;
	&lt;li&gt;But an open WT transaction had a (durable) timestamp of &quot;i: 1&quot;. I don&apos;t think this is commonplace, but I believe code paths, such as committing a prepared transaction can get us into this state.&lt;/li&gt;
	&lt;li&gt;We hit &lt;a href=&quot;https://github.com/mongodb/mongo/blob/752a82a5f3379d45bb6e5f348d7ed1be0e40b441/src/mongo/db/repl/replication_coordinator_impl.cpp#L4827-L4835&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this code&lt;/a&gt; which will hold back the stable timestamp. Even though the behavior is only required for single node replica sets, I can see this having an effect on multi-node replica sets.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="3409403" author="matthew.russotto" created="Thu, 24 Sep 2020 14:10:01 +0000"  >&lt;p&gt;It only happens when we get a crash and the stable timestamp happens to not be in the oplog.&#160; I&apos;m not sure how often we should expect that to happen.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="3408240" author="judah.schvimer" created="Wed, 23 Sep 2020 19:32:06 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=matthew.russotto&quot; class=&quot;user-hover&quot; rel=&quot;matthew.russotto&quot;&gt;matthew.russotto&lt;/a&gt;, this makes sense to me. I don&apos;t think this is limited to EMRC=F (which is where the BF occurred), I&apos;m curious though why we haven&apos;t seen more occurrences of this. Any ideas? CC &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=daniel.gottlieb&quot; class=&quot;user-hover&quot; rel=&quot;daniel.gottlieb&quot;&gt;daniel.gottlieb&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1628820">SERVER-54666</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1490484">SERVER-51158</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>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.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, 23 Sep 2020 19:32:06 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 9 weeks, 6 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 9 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>15.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>daniel.gottlieb@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>matthew.russotto@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hy6ukn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxta5z:</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="4311">Repl 2020-10-19</customfieldvalue>
    <customfieldvalue id="4312">Repl 2020-11-02</customfieldvalue>
    <customfieldvalue id="4372">Repl 2020-11-16</customfieldvalue>
    <customfieldvalue id="4373">Repl 2020-11-30</customfieldvalue>
    <customfieldvalue id="4474">Repl 2020-12-14</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|hy6gtz:</customfieldvalue>

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