<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:20:12 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-29213] Have KVWiredTigerEngine implement StorageEngine::recoverToStableTimestamp</title>
                <link>https://jira.mongodb.org/browse/SERVER-29213</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;There is a system state in MongoDB called replication rollback, where a node in a replica set needs to be able to reset it&apos;s state to an earlier point in time.&lt;/p&gt;

&lt;p&gt;That is currently handled by undoing operations via the oplog, but that&apos;s technically difficult. We are working on adding a mechanism that means the oplog will only need to be applied forwards instead. In order to use that mechanism for replication rollback MongoDB will need a method for resetting a WiredTiger database to an earlier point in time, and then running recovery to return the state to the desired point in time.&lt;/p&gt;

&lt;p&gt;The goal of this ticket will be adding a function to the storage engine interface, which shuts down a storage engine, then re-opens and recovers the state as it would be after a fresh restart. In the case of WiredTiger this will be with all collections having data at a certain point in time, and the oplog containing information that at least covers the replica wide durable point.&lt;/p&gt;

&lt;p&gt;After this Storage Engine restart method has been called it is expected that the oplog will be replayed to re-create collection data that wasn&apos;t durable before the restart.&lt;/p&gt;</description>
                <environment></environment>
        <key id="383656">SERVER-29213</key>
            <summary>Have KVWiredTigerEngine implement StorageEngine::recoverToStableTimestamp</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="daniel.gottlieb@mongodb.com">Daniel Gottlieb</assignee>
                                    <reporter username="alexander.gorrod@mongodb.com">Alexander Gorrod</reporter>
                        <labels>
                            <label>rollback-functional</label>
                    </labels>
                <created>Mon, 15 May 2017 18:42:28 +0000</created>
                <updated>Mon, 30 Oct 2023 23:16:47 +0000</updated>
                            <resolved>Sat, 24 Mar 2018 23:54:55 +0000</resolved>
                                                    <fixVersion>3.7.4</fixVersion>
                                    <component>Storage</component>
                                        <votes>0</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="1844371" author="daniel.gottlieb@10gen.com" created="Sun, 25 Mar 2018 01:05:53 +0000"  >&lt;p&gt;With this patch, shutting down a node running with &lt;tt&gt;--replSet&lt;/tt&gt; and bringing it back up as a standalone will not have the same data. The data will consist of what was majority committed in the replica set when the node shut down. &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34070&quot; title=&quot;Add flag to perform replication recovery as a standalone&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34070&quot;&gt;&lt;del&gt;SERVER-34070&lt;/del&gt;&lt;/a&gt; will expose a flag that will replay replication recovery in standalone mode.&lt;/p&gt;</comment>
                            <comment id="1844354" author="xgen-internal-githook" created="Sat, 24 Mar 2018 23:45:18 +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-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;: Have WiredTiger support recoverToStableTimestamp.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/6ae04cd9f250fac877df94ecd4ddad33eaf5bc77&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/6ae04cd9f250fac877df94ecd4ddad33eaf5bc77&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1758425" author="daniel.gottlieb@10gen.com" created="Fri, 22 Dec 2017 04:35:20 +0000"  >&lt;p&gt;Note this work should investigate if any additional changes are required to preserve multikey entries in the catalog. See &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32206?focusedCommentId=1746446&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-1746446&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-32206?focusedCommentId=1746446&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-1746446&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1631654" author="daniel.gottlieb@10gen.com" created="Tue, 25 Jul 2017 21:06:48 +0000"  >&lt;p&gt;This ticket includes calling WT&apos;s recover to stable timestamp method, running &quot;glue layer recovery&quot; (reconciling _mdb_catalog + WT table, i.e: rebuilding indexes where a drop was rolled back) and refreshing the in-memory catalog (see `mongo::repairDatabase`s handling of recreating the DatabaseCatalogEntry inside of a `dbHolder().close/open`).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="491561">SERVER-33081</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="491720">SERVER-33093</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="492586">SERVER-33126</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="495418">WT-3906</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="480419">SERVER-32594</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="493820">SERVER-33159</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="402323">SERVER-30081</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="467082">SERVER-32144</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="507744">SERVER-33743</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="383633">SERVER-29211</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="397599">WT-3387</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="397605">WT-3388</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="485943">SERVER-32844</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="514624">SERVER-34042</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="515946">DOCS-11484</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="408777">SERVER-30349</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="509689">SERVER-33812</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="469311">SERVER-32206</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="532230">SERVER-34606</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="383668">WT-3322</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="493826">SERVER-33161</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="515220">SERVER-34070</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="515388">SERVER-34075</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>4.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="10011"><![CDATA[Minor Change]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 15 May 2017 21:03:28 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 46 weeks, 4 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-29211'>SERVER-29211</a></s>, <s><a href='https://jira.mongodb.org/browse/PM-673'>PM-673</a></s>, <s><a href='https://jira.mongodb.org/browse/WT-3387'>WT-3387</a></s>, <s><a href='https://jira.mongodb.org/browse/WT-3388'>WT-3388</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-30081'>SERVER-30081</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-32594'>SERVER-32594</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-33081'>SERVER-33081</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-33093'>SERVER-33093</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-33126'>SERVER-33126</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-33159'>SERVER-33159</a></s>, <s><a href='https://jira.mongodb.org/browse/WT-3906'>WT-3906</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-32144'>SERVER-32144</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-33743'>SERVER-33743</a></s>]]></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, 46 weeks, 4 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htc9on:</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="2106">Repl 2018-02-12</customfieldvalue>
    <customfieldvalue id="2146">Repl 2018-02-26</customfieldvalue>
    <customfieldvalue id="2185">Repl 2018-03-12</customfieldvalue>
    <customfieldvalue id="2186">Repl 2018-03-26</customfieldvalue>
    <customfieldvalue id="2187">Repl 2018-04-09</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|ht41sf:</customfieldvalue>

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