<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:36:08 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-34279] Crash after upgrade before stable checkpoint can cause replication recovery to skip oplog entries</title>
                <link>https://jira.mongodb.org/browse/SERVER-34279</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Consider the following scenario:&lt;br/&gt;
1. Clean shutdown a 3.6-binary. It&apos;s &lt;tt&gt;appliedThrough&lt;/tt&gt; value will be null.&lt;br/&gt;
2. Bring the node up with a 4.0 binary. Replication recovery will do nothing since we are consistent at the top of the oplog; there is no &lt;tt&gt;appliedThrough&lt;/tt&gt; or &lt;tt&gt;recoveryTimestamp&lt;/tt&gt;.&lt;br/&gt;
3. The node starts taking writes from &lt;tt&gt;ts=T1&lt;/tt&gt; to &lt;tt&gt;ts=T2&lt;/tt&gt;, as a primary or secondary. These writes get written to the oplog, but only the oplog writes get journaled. The &lt;tt&gt;appliedThrough&lt;/tt&gt; may move forward if it&apos;s a secondary, but those writes will also not be journaled.&lt;br/&gt;
4. Now, before we take a stable checkpoint, the node crashes.&lt;br/&gt;
5. Restart the 4.0 binary node. The node starts up with the same data as at step 2 (reflecting a consistent point at &lt;tt&gt;T1&lt;/tt&gt;), but also with the oplog entries through &lt;tt&gt;T2&lt;/tt&gt; from step 3. &lt;br/&gt;
6. There is no &lt;tt&gt;recoveryTimestamp&lt;/tt&gt; and the &lt;tt&gt;appliedThrough&lt;/tt&gt; will be null, so we assume we&apos;re consistent at the top of the oplog, &lt;tt&gt;T2&lt;/tt&gt;, when in reality we are consistent at &lt;tt&gt;T1&lt;/tt&gt;. We then do not replay &lt;tt&gt;T1-&amp;gt;T2&lt;/tt&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="521222">SERVER-34279</key>
            <summary>Crash after upgrade before stable checkpoint can cause replication recovery to skip oplog entries</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="daniel.gottlieb@mongodb.com">Daniel Gottlieb</assignee>
                                    <reporter username="judah.schvimer@mongodb.com">Judah Schvimer</reporter>
                        <labels>
                            <label>rollback-functional</label>
                    </labels>
                <created>Tue, 3 Apr 2018 15:58:07 +0000</created>
                <updated>Sun, 29 Oct 2023 22:33:03 +0000</updated>
                            <resolved>Fri, 13 Apr 2018 01:53:16 +0000</resolved>
                                                    <fixVersion>3.7.4</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="1863399" author="xgen-internal-githook" created="Fri, 13 Apr 2018 11:21:13 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;daniel.gottlieb@mongodb.com&apos;, &apos;name&apos;: &apos;Daniel Gottlieb&apos;, &apos;username&apos;: &apos;dgottlieb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34279&quot; title=&quot;Crash after upgrade before stable checkpoint can cause replication recovery to skip oplog entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34279&quot;&gt;&lt;del&gt;SERVER-34279&lt;/del&gt;&lt;/a&gt;: Perform an FCV upgrade to take stable checkpoints.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/3ca72d037459c06eee20e80a754ae65420ce2a51&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/3ca72d037459c06eee20e80a754ae65420ce2a51&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1863237" author="xgen-internal-githook" created="Fri, 13 Apr 2018 01:52:56 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;daniel.gottlieb@mongodb.com&apos;, &apos;name&apos;: &apos;Daniel Gottlieb&apos;, &apos;username&apos;: &apos;dgottlieb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34279&quot; title=&quot;Crash after upgrade before stable checkpoint can cause replication recovery to skip oplog entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34279&quot;&gt;&lt;del&gt;SERVER-34279&lt;/del&gt;&lt;/a&gt;: Ensure a minValid lastApplied exists for upgrade.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a3b00f53eaf0295eac183ba8009eda0b9dec95aa&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a3b00f53eaf0295eac183ba8009eda0b9dec95aa&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1855911" author="daniel.gottlieb@10gen.com" created="Thu, 5 Apr 2018 02:42:59 +0000"  >&lt;p&gt;I also believe the `initialDataTimestamp` needs to be set to the top of oplog when the `recoveryTimestamp` is 0. The storage engine currently sets the value when the recoveryTimestamp is non-zero. &lt;del&gt;This work should consider doing this item, or ticket it for additional work, given it affects proper upgrade and rollback when the `recoveryTimestamp` is not present.&lt;/del&gt; See &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34350&quot; title=&quot;Properly initialize initial data timestamp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34350&quot;&gt;&lt;del&gt;SERVER-34350&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Amendment, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34350&quot; title=&quot;Properly initialize initial data timestamp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34350&quot;&gt;&lt;del&gt;SERVER-34350&lt;/del&gt;&lt;/a&gt; is done as part of this ticket.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="505848">WT-3959</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="522817">SERVER-34350</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="535172">SERVER-34716</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.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>Thu, 5 Apr 2018 02:42:59 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 43 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-842</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>
                            5 years, 43 weeks, 5 days ago
                        </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>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htu8zj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htlhvb:</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="2188">Repl 2018-04-23</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|httv7r:</customfieldvalue>

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