<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:16:44 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-48307] Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit</title>
                <link>https://jira.mongodb.org/browse/SERVER-48307</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&quot;panel&quot; style=&quot;background-color: #eeeeee;border-color: #cccccc;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-color: #cccccc;background-color: #6cb33f;&quot;&gt;&lt;b&gt;Issue Status as of May 25, 2020&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #eeeeee;&quot;&gt;
&lt;p&gt;&lt;b&gt;ISSUE SUMMARY&lt;/b&gt;&lt;br/&gt;
 Distributed transactions which write to document(s) on exactly one shard and read document(s) from at least one other shard may execute more than once in the presence of a primary failover.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;This issue does not affect multi-document transactions involving a single shard or that write to multiple shards&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;When a client attempts to commit a multi-document transaction, the driver receives one of the following responses to the commitTransaction command:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;The transaction has definitively committed.&lt;/li&gt;
	&lt;li&gt;The transaction has definitively aborted.&lt;/li&gt;
	&lt;li&gt;It is unknown whether the transaction has committed or aborted.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Clients using either &lt;a href=&quot;https://docs.mongodb.com/manual/core/transactions-in-applications/#txn-callback-api&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;driver&#8217;s callback transactions API&lt;/a&gt; or &lt;a href=&quot;https://docs.mongodb.com/manual/core/transactions-in-applications/#core-api&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;driver&#8217;s core transactions API&lt;/a&gt; would automatically retry the commitTransaction command to learn the definitive result of the transaction.&lt;/p&gt;

&lt;p&gt;Due to a bug in the router, the driver may be wrongly told &#8220;the transaction has definitely aborted and its operation should be automatically retried in a new transaction,&#8221; when the transaction has successfully been committed. This bug manifests when the &lt;tt&gt;commitTransaction&lt;/tt&gt; command must be retried to learn the definitive result of the transaction and a primary failover has occurred in the intervening time on one of the shards that document(s) were only read from.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;USER IMPACT&lt;/b&gt;&lt;br/&gt;
 Distributed transactions which write to document(s) on exactly one shard and read document(s) from at least one other shard may execute more than once.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;AFFECTED VERSIONS&lt;/b&gt;&lt;br/&gt;
 This affects 4.2.7 and earlier versions of 4.2.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;FIX VERSION&lt;/b&gt;&lt;br/&gt;
 The fix will be included in 4.4.0 and 4.2.8.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="1356507">SERVER-48307</key>
            <summary>Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit</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="esha.maharishi@mongodb.com">Esha Maharishi</assignee>
                                    <reporter username="esha.maharishi@mongodb.com">Esha Maharishi</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 May 2020 21:26:48 +0000</created>
                <updated>Sun, 29 Oct 2023 22:08:00 +0000</updated>
                            <resolved>Wed, 20 May 2020 23:16:10 +0000</resolved>
                                    <version>4.5.1</version>
                    <version>4.2.7</version>
                    <version>4.4.0-rc6</version>
                                    <fixVersion>4.2.8</fixVersion>
                    <fixVersion>4.4.0-rc7</fixVersion>
                    <fixVersion>4.7.0</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>20</watches>
                                                                                                                <comments>
                            <comment id="3347305" author="xgen-internal-githook" created="Wed, 19 Aug 2020 15:25:02 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Esha Maharishi&apos;, &apos;email&apos;: &apos;esha.maharishi@mongodb.com&apos;, &apos;username&apos;: &apos;EshaMaharishi&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48341&quot; title=&quot;Remove requires_fcv_46 from tests blacklisted under SERVER-48307 after backporting SERVER-48307 to 4.4.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48341&quot;&gt;&lt;del&gt;SERVER-48341&lt;/del&gt;&lt;/a&gt; Remove requires_fcv_44 from tests blacklisted under &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48307&quot; title=&quot;Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48307&quot;&gt;&lt;del&gt;SERVER-48307&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/52357b37f74e561b5e9edf95733399e01a4d303f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/52357b37f74e561b5e9edf95733399e01a4d303f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3225992" author="xgen-internal-githook" created="Fri, 26 Jun 2020 16:49:57 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Esha Maharishi&apos;, &apos;email&apos;: &apos;esha.maharishi@mongodb.com&apos;, &apos;username&apos;: &apos;EshaMaharishi&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48341&quot; title=&quot;Remove requires_fcv_46 from tests blacklisted under SERVER-48307 after backporting SERVER-48307 to 4.4.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48341&quot;&gt;&lt;del&gt;SERVER-48341&lt;/del&gt;&lt;/a&gt; Remove requires_fcv_46 from tests blacklisted under &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48307&quot; title=&quot;Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48307&quot;&gt;&lt;del&gt;SERVER-48307&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e976a66489bb0b600d9896bdada5e33e6d885534&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e976a66489bb0b600d9896bdada5e33e6d885534&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3102665" author="xgen-internal-githook" created="Thu, 21 May 2020 16:31:14 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Esha Maharishi&apos;, &apos;email&apos;: &apos;esha.maharishi@mongodb.com&apos;, &apos;username&apos;: &apos;EshaMaharishi&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48307&quot; title=&quot;Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48307&quot;&gt;&lt;del&gt;SERVER-48307&lt;/del&gt;&lt;/a&gt; Disable single-write-shard transaction commit optimization&lt;/p&gt;

&lt;p&gt;(cherry picked from commit e18f218d59237398962b8b5e3730f28c0f06e587)&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/539db971814c1d2dbcea6f1fa28f59eea737a16b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/539db971814c1d2dbcea6f1fa28f59eea737a16b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3098559" author="xgen-internal-githook" created="Wed, 20 May 2020 23:28:37 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Esha Maharishi&apos;, &apos;email&apos;: &apos;esha.maharishi@mongodb.com&apos;, &apos;username&apos;: &apos;EshaMaharishi&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48307&quot; title=&quot;Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48307&quot;&gt;&lt;del&gt;SERVER-48307&lt;/del&gt;&lt;/a&gt; Disable single-write-shard transaction commit optimization&lt;/p&gt;

&lt;p&gt;(cherry picked from commit e18f218d59237398962b8b5e3730f28c0f06e587)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/607a0ac8c11e32af57aafe56f8adfd80f5d03b4b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/607a0ac8c11e32af57aafe56f8adfd80f5d03b4b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3098495" author="xgen-internal-githook" created="Wed, 20 May 2020 22:26:50 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Esha Maharishi&apos;, &apos;email&apos;: &apos;esha.maharishi@mongodb.com&apos;, &apos;username&apos;: &apos;EshaMaharishi&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48307&quot; title=&quot;Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48307&quot;&gt;&lt;del&gt;SERVER-48307&lt;/del&gt;&lt;/a&gt; Disable single-write-shard transaction commit optimization&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/be253e1614bb05dc9a9ace507b263fb4885dcdee&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/be253e1614bb05dc9a9ace507b263fb4885dcdee&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">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1357721">SERVER-48340</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.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>
    
                        </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>Wed, 20 May 2020 22:26:50 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 25 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_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>
                            3 years, 25 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>esha.maharishi@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|hxm24v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hx9b87:</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="3955">Sharding 2020-06-01</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|hxloe7:</customfieldvalue>

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