<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:39:06 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-56375] [RRFaM] Have delete path write to config.transactions</title>
                <link>https://jira.mongodb.org/browse/SERVER-56375</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;When the RRFaM behavior is enabled:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;A primary executing the delete can add a remove preImage to the SessionTxnRecord within the same WUOW.&lt;/li&gt;
	&lt;li&gt;A secondary applying the delete can also add the preImage to the SessionTxnRecord within the same WUOW.
	&lt;ul&gt;
		&lt;li&gt;Right now the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a5b95e6d0a85bdea4751f5469022f37738bb25d4/src/mongo/db/ops/delete.h#L46&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;deleteObjects return value&lt;/a&gt; does not provide the preImage. This ticket should expose that API.&lt;/li&gt;
		&lt;li&gt;However the &lt;tt&gt;config.transactions.update&lt;/tt&gt; predicate must include the clause: &lt;tt&gt;`{txnNum: {$lt: &amp;lt;updated txnNum&amp;gt;&lt;/tt&gt;`}}.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Remove noop oplog entry writes for FaM removes&lt;/li&gt;
	&lt;li&gt;Collections that &lt;a href=&quot;https://github.com/mongodb/mongo/blob/0464f0b7bcb2eee8dafbf108447013b4d586a16a/src/mongo/db/catalog/collection_impl.cpp#L1064&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;always store preImages&lt;/a&gt; must continue to write pre-image noops for findAndModify&apos;s that remove a document.
	&lt;ul&gt;
		&lt;li&gt;These findAndModify&apos;s should not write the preImage to a &lt;tt&gt;config.transactions&lt;/tt&gt; document&lt;/li&gt;
		&lt;li&gt;The current OpObserver::onDelete API cannot distinguish between an engaged &lt;a href=&quot;https://github.com/mongodb/mongo/blob/0464f0b7bcb2eee8dafbf108447013b4d586a16a/src/mongo/db/op_observer_impl.cpp#L658&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;deletedDoc&lt;/tt&gt;&lt;/a&gt; due to a findAndModify versus the collection configuration (without attempting to read the collection catalog using the input collection UUID). One solution is to create a structure similar to the &lt;tt&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/428015e0575ade215bf65100bda40099f87a94a9/src/mongo/db/catalog/collection.h#L96&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;CollectionUpdateArgs&lt;/a&gt;&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;Changing the &lt;tt&gt;onDelete&lt;/tt&gt; API may be necessary, which would allow us to correct &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56518&quot; title=&quot;findAndModify deletes unconditionally write preImage no-op oplog entries, leading to crash during chunk migration&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56518&quot;&gt;&lt;del&gt;SERVER-56518&lt;/del&gt;&lt;/a&gt;.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="1692399">SERVER-56375</key>
            <summary>[RRFaM] Have delete path write to config.transactions</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="13201">Fixed</resolution>
                                        <assignee username="daniel.gottlieb@mongodb.com">Daniel Gottlieb</assignee>
                                    <reporter username="daniel.gottlieb@mongodb.com">Daniel Gottlieb</reporter>
                        <labels>
                    </labels>
                <created>Tue, 27 Apr 2021 02:42:00 +0000</created>
                <updated>Sun, 29 Oct 2023 21:54:27 +0000</updated>
                            <resolved>Tue, 11 May 2021 01:42:04 +0000</resolved>
                                                    <fixVersion>4.0.25</fixVersion>
                    <fixVersion>4.2.15</fixVersion>
                    <fixVersion>4.4.7</fixVersion>
                    <fixVersion>5.0.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="3822435" author="xgen-internal-githook" created="Mon, 24 May 2021 23:32:19 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Andrew Shuvalov&apos;, &apos;email&apos;: &apos;andrew.shuvalov@mongodb.com&apos;, &apos;username&apos;: &apos;shuvalov-mdb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56375&quot; title=&quot;[RRFaM] Have delete path write to config.transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56375&quot;&gt;&lt;del&gt;SERVER-56375&lt;/del&gt;&lt;/a&gt;: &lt;span class=&quot;error&quot;&gt;&amp;#91;RRFaM&amp;#93;&lt;/span&gt; BACKPORT-8905 Have delete path write to config.transactions&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/8b9eaa903128dea6c70093bddd8d2a241473ac24&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/8b9eaa903128dea6c70093bddd8d2a241473ac24&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3806732" author="xgen-internal-githook" created="Fri, 21 May 2021 20:28:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Daniel Gottlieb&apos;, &apos;email&apos;: &apos;daniel.gottlieb@mongodb.com&apos;, &apos;username&apos;: &apos;dgottlieb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56375&quot; title=&quot;[RRFaM] Have delete path write to config.transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56375&quot;&gt;&lt;del&gt;SERVER-56375&lt;/del&gt;&lt;/a&gt;: Add ability to write retryable findAndModify deletes to `config.image_collection`.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit ade401ca5f7a1ae4475d30f84b636e259397fd63)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/47e41c3c63a294f003c94544a20dbd865d578367&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/47e41c3c63a294f003c94544a20dbd865d578367&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3765615" author="xgen-internal-githook" created="Tue, 11 May 2021 01:22:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Daniel Gottlieb&apos;, &apos;email&apos;: &apos;daniel.gottlieb@mongodb.com&apos;, &apos;username&apos;: &apos;dgottlieb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56375&quot; title=&quot;[RRFaM] Have delete path write to config.transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56375&quot;&gt;&lt;del&gt;SERVER-56375&lt;/del&gt;&lt;/a&gt;: Add ability to write retryable findAndModify deletes to `config.image_collection`.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ade401ca5f7a1ae4475d30f84b636e259397fd63&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ade401ca5f7a1ae4475d30f84b636e259397fd63&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3762300" author="xgen-internal-githook" created="Fri, 7 May 2021 23:17:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jason Chan&apos;, &apos;email&apos;: &apos;jason.chan@10gen.com&apos;, &apos;username&apos;: &apos;jasonjhchan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56375&quot; title=&quot;[RRFaM] Have delete path write to config.transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56375&quot;&gt;&lt;del&gt;SERVER-56375&lt;/del&gt;&lt;/a&gt;: Add ability to write retryable findAndModify deletes to `config.image_collection`&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a9e89da837617ab09628d736482705f81ee110bd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a9e89da837617ab09628d736482705f81ee110bd&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="1697672">SERVER-56518</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>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="18953"><![CDATA[v4.4]]></customfieldvalue>
    <customfieldvalue key="16775"><![CDATA[v4.2]]></customfieldvalue>
    <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>Fri, 7 May 2021 23:17:27 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 37 weeks, 2 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-2213</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>
                            2 years, 37 weeks, 2 days ago
                        </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>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hz6sav:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hyrp93:</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="4859">Repl 2021-05-17</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|hz6ejz:</customfieldvalue>

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