<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:39:52 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-79024] Avoid deleting pre-image/change collection entries before allDurable/lastApplied timestamps</title>
                <link>https://jira.mongodb.org/browse/SERVER-79024</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;As change collections and preimages are implicitly replicated collections only deletes are propagated. This leads to an oplog applier race between the delete and insert since both operations could occur at the same time. To avoid this issue we should make sure that only entries after the lastApplied/allDurable timestamps are deleted. That way we can ensure that the insert will always occur before a delete.&lt;/p&gt;

&lt;p&gt;Note that this only occurs with replicated deletes. Unreplicated truncates already solved this issue with &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-77972&quot; title=&quot;Investigate that PreImagesTruncateManager on Secondaries takes PBWM lock&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-77972&quot;&gt;&lt;del&gt;SERVER-77972&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2393674">SERVER-79024</key>
            <summary>Avoid deleting pre-image/change collection entries before allDurable/lastApplied timestamps</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="12300">Won&apos;t Do</resolution>
                                        <assignee username="jordi.olivares-provencio@mongodb.com">Jordi Olivares Provencio</assignee>
                                    <reporter username="jordi.olivares-provencio@mongodb.com">Jordi Olivares Provencio</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Jul 2023 16:38:56 +0000</created>
                <updated>Wed, 6 Sep 2023 13:23:14 +0000</updated>
                            <resolved>Wed, 6 Sep 2023 13:23:14 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="5682944" author="JIRAUSER1264163" created="Wed, 6 Sep 2023 13:23:14 +0000"  >&lt;p&gt;Closing this as Won&apos;t Do. This will be fixed in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80791&quot; title=&quot;Potential data consistency issue with implicitly replicated collections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80791&quot;&gt;&lt;del&gt;SERVER-80791&lt;/del&gt;&lt;/a&gt; by ensuring implicitly replicated collections do not cause data consistency issues.&lt;/p&gt;</comment>
                            <comment id="5672321" author="JIRAUSER1264163" created="Thu, 31 Aug 2023 15:37:52 +0000"  >&lt;p&gt;Requesting backports back to 6.0 since it affects preimage correctness&lt;/p&gt;</comment>
                            <comment id="5586080" author="JIRAUSER1264163" created="Mon, 24 Jul 2023 11:47:59 +0000"  >&lt;p&gt;I&apos;ve rewritten the ticket as we realised that this only kicked the can down the road. As &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-77972&quot; title=&quot;Investigate that PreImagesTruncateManager on Secondaries takes PBWM lock&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-77972&quot;&gt;&lt;del&gt;SERVER-77972&lt;/del&gt;&lt;/a&gt; already fixed this issue with unreplicated deletes we will retarget this ticket to replicate that behaviour with replicated deletes.&lt;/p&gt;</comment>
                            <comment id="5572994" author="josef.ahmad" created="Tue, 18 Jul 2023 06:57:13 +0000"  >&lt;p&gt;This is only a problem when the TTL period of these internal tables is set to an unreasonably low value (less than a few seconds). A customer choosing to do so is more likely to experience more fundamental problems &#8211; e.g. change stream falling off &apos;the oplog&apos; &#8211; than the inconsistency described here.&lt;/p&gt;</comment>
                            <comment id="5572992" author="josef.ahmad" created="Tue, 18 Jul 2023 06:51:11 +0000"  >&lt;p&gt;This can also be a problem in the absence of lagging secondaries when using an unreasonably low expireAfterSeconds approximating an oplog hole&apos;s duration. With cleanup based on (replicated) multi-deletes and expireAfterSeconds=0, the secondary races the application of replicated deletes with the (implicit) application of inserts to these change stream tables: because the inserts are implicit, there&apos;s no way for the applier threads to serialise deletes with inserts on these tables. As a result, we&apos;ve observed these tables become inconsistent. Jordi&apos;s proposal to set a reasonable floor (10s) to expireAfterSeconds eradicates this corner case.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26008"><![CDATA[Storage Execution EMEA]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26243"><![CDATA[v7.1]]></customfieldvalue>
    <customfieldvalue key="25578"><![CDATA[v7.0]]></customfieldvalue>
    <customfieldvalue key="23470"><![CDATA[v6.0]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 18 Jul 2023 06:51:11 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        22 weeks 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>jordi.olivares-provencio@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            22 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>jordi.olivares-provencio@mongodb.com</customfieldvalue>
            <customfieldvalue>josef.ahmad@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2i8br:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i20dd4:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7539">Execution EMEA Team 2023-09-04</customfieldvalue>
    <customfieldvalue id="7684">Execution EMEA Team 2023-09-18</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|i2huh3:</customfieldvalue>

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