<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:18: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-71219] Migration can miss writes from prepared transactions</title>
                <link>https://jira.mongodb.org/browse/SERVER-71219</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Migration relies on LogTransactionOperationsForShardingHandler to capture writes that gets committed. However, the issue is that the commit handler only gets &lt;a href=&quot;https://github.com/10gen/mongo/blob/484eee157ecc039fafbbef6a4aae0286c8bbc3b5/src/mongo/db/s/op_observer_sharding_impl.cpp#L224&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;registered to the recovery unit during prepare&lt;/a&gt;. This means that if another node becomes the primary, no callbacks from LogTransactionOperationsForShardingHandler will get called when the transaction gets committed.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2179546">SERVER-71219</key>
            <summary>Migration can miss writes from prepared transactions</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.mongodb.org/images/icons/priorities/critical.svg">Critical - P2</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="randolph@mongodb.com">Randolph Tan</assignee>
                                    <reporter username="randolph@mongodb.com">Randolph Tan</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Nov 2022 18:19:18 +0000</created>
                <updated>Sun, 29 Oct 2023 21:30:50 +0000</updated>
                            <resolved>Fri, 27 Jan 2023 20:56:47 +0000</resolved>
                                    <version>4.2.0</version>
                    <version>4.4.0</version>
                    <version>5.0.0</version>
                    <version>6.0.0</version>
                    <version>6.1.0-rc3</version>
                                    <fixVersion>4.4.19</fixVersion>
                    <fixVersion>5.0.15</fixVersion>
                    <fixVersion>6.3.0-rc0</fixVersion>
                    <fixVersion>6.0.5</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="5180135" author="xgen-internal-githook" created="Wed, 8 Feb 2023 20:21:37 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Randolph Tan&apos;, &apos;email&apos;: &apos;randolph@10gen.com&apos;, &apos;username&apos;: &apos;renctan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-71219&quot; title=&quot;Migration can miss writes from prepared transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-71219&quot;&gt;&lt;del&gt;SERVER-71219&lt;/del&gt;&lt;/a&gt; Migration can miss writes from prepared transactions&lt;/p&gt;

&lt;p&gt;This commit does 2 things:&lt;br/&gt;
1. Make sure that we register the migration source op observer hook in all paths where transactions transitions into prepare.&lt;br/&gt;
2. If we don&apos;t have the post image doc, fetch the latest doc from storage.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit a20d97c8e30b805410d86ccdbeac2d3f05c407ba)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/58d5abbf8e6e809e7d3c126c74655d2553ceabc1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/58d5abbf8e6e809e7d3c126c74655d2553ceabc1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5178974" author="xgen-internal-githook" created="Wed, 8 Feb 2023 15:46:17 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Randolph Tan&apos;, &apos;email&apos;: &apos;randolph@10gen.com&apos;, &apos;username&apos;: &apos;renctan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-71219&quot; title=&quot;Migration can miss writes from prepared transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-71219&quot;&gt;&lt;del&gt;SERVER-71219&lt;/del&gt;&lt;/a&gt; Migration can miss writes from prepared transactions&lt;/p&gt;

&lt;p&gt;This commit does 2 things:&lt;br/&gt;
1. Make sure that we register the migration source op observer hook in all paths where transactions transitions into prepare.&lt;br/&gt;
2. If we don&apos;t have the post image doc, fetch the latest doc from storage.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit bd227ce5529b0423ca791aa926db48ec8b10c07d)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a20d97c8e30b805410d86ccdbeac2d3f05c407ba&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a20d97c8e30b805410d86ccdbeac2d3f05c407ba&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5166847" author="xgen-internal-githook" created="Fri, 3 Feb 2023 19:43:49 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Randolph Tan&apos;, &apos;email&apos;: &apos;randolph@10gen.com&apos;, &apos;username&apos;: &apos;renctan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-71219&quot; title=&quot;Migration can miss writes from prepared transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-71219&quot;&gt;&lt;del&gt;SERVER-71219&lt;/del&gt;&lt;/a&gt; Migration can miss writes from prepared transactions&lt;/p&gt;

&lt;p&gt;This commit does 2 things:&lt;br/&gt;
1. Make sure that we register the migration source op observer hook in all paths where transactions transitions into prepare.&lt;br/&gt;
2. If we don&apos;t have the post image doc, fetch the latest doc from storage.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2f708612dc39780410bf40d31a404cb121f653a9)&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/bd227ce5529b0423ca791aa926db48ec8b10c07d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/bd227ce5529b0423ca791aa926db48ec8b10c07d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5147022" author="xgen-internal-githook" created="Fri, 27 Jan 2023 20:23:52 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Randolph Tan&apos;, &apos;email&apos;: &apos;randolph@10gen.com&apos;, &apos;username&apos;: &apos;renctan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-71219&quot; title=&quot;Migration can miss writes from prepared transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-71219&quot;&gt;&lt;del&gt;SERVER-71219&lt;/del&gt;&lt;/a&gt; Migration can miss writes from prepared transactions&lt;/p&gt;

&lt;p&gt;This commit does 2 things:&lt;br/&gt;
1. Make sure that we register the migration source op observer hook in all paths where transactions transitions into prepare.&lt;br/&gt;
2. If we don&apos;t have the post image doc, fetch the latest doc from storage.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2f708612dc39780410bf40d31a404cb121f653a9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2f708612dc39780410bf40d31a404cb121f653a9&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5147021" author="xgen-internal-githook" created="Fri, 27 Jan 2023 20:23:50 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Randolph Tan&apos;, &apos;email&apos;: &apos;randolph@10gen.com&apos;, &apos;username&apos;: &apos;renctan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-71219&quot; title=&quot;Migration can miss writes from prepared transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-71219&quot;&gt;&lt;del&gt;SERVER-71219&lt;/del&gt;&lt;/a&gt; Migration can miss writes from prepared transactions&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/mongo-enterprise-modules/commit/f7b83cbc0574d898f464bc664e94dbcb6d52db89&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo-enterprise-modules/commit/f7b83cbc0574d898f464bc664e94dbcb6d52db89&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                        <issuelink>
            <issuekey id="2367147">SERVER-78050</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2100837">SERVER-68361</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="639246">SERVER-38284</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>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25041"><![CDATA[v6.2]]></customfieldvalue>
    <customfieldvalue key="23470"><![CDATA[v6.0]]></customfieldvalue>
    <customfieldvalue key="21777"><![CDATA[v5.0]]></customfieldvalue>
    <customfieldvalue key="18953"><![CDATA[v4.4]]></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>Mon, 9 Jan 2023 15:46:47 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year 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>
                            1 year ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>113.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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>randolph@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i1hken:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i106nk:</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="6353">Sharding NYC 2022-11-28</customfieldvalue>
    <customfieldvalue id="6354">Sharding 2022-12-12</customfieldvalue>
    <customfieldvalue id="6355">Sharding NYC 2022-12-26</customfieldvalue>
    <customfieldvalue id="6356">Sharding NYC 2023-01-09</customfieldvalue>
    <customfieldvalue id="6865">Sharding NYC 2023-01-23</customfieldvalue>
    <customfieldvalue id="6866">Sharding NYC 2023-02-06</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10750" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Steps To Reproduce</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;Uncomment &lt;a href=&quot;https://github.com/mongodb/mongo/blob/0b52d4cbc8610b5b42f62ff5ac1f1d6a4b47180b/jstests/sharding/prepare_transaction_then_migrate.js#L162&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this line&lt;/a&gt; in test&lt;/p&gt;</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|i1h6jz:</customfieldvalue>

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