<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:49:30 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-38628] Investigate failures in indexed_insert workloads in sharded transaction concurrency suites</title>
                <link>https://jira.mongodb.org/browse/SERVER-38628</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The fsm workload &lt;tt&gt;indexed_insert_multikey.js&lt;/tt&gt;&#160;and other &lt;tt&gt;indexed_insert.*&lt;/tt&gt; workloads&#160;began to fail in the &lt;tt&gt;concurrency_sharded_replication_multi_stmt_txn(_with_balancer)&lt;/tt&gt; suites added as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38026&quot; title=&quot;Run concurrency_replication_multi_stmt_txn.yml against sharded collections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38026&quot;&gt;&lt;del&gt;SERVER-38026&lt;/del&gt;&lt;/a&gt; at some point after commit&#160;e0932edfcb (&lt;a href=&quot;https://evergreen.mongodb.com/version/5c0800ade3c3315a45713560&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;successful evergreen patch on that commit&lt;/a&gt;). The purpose of this ticket is to determine the root cause of that failure and update the blacklists in &lt;tt&gt;concurrency_sharded_replication_multi_stmt_txn(_with_balancer)&lt;/tt&gt; once it has been determined.&lt;/p&gt;</description>
                <environment></environment>
        <key id="653769">SERVER-38628</key>
            <summary>Investigate failures in indexed_insert workloads in sharded transaction concurrency suites</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="jack.mulrow@mongodb.com">Jack Mulrow</assignee>
                                    <reporter username="jack.mulrow@mongodb.com">Jack Mulrow</reporter>
                        <labels>
                            <label>ShardedTxn:Testing</label>
                    </labels>
                <created>Thu, 13 Dec 2018 23:56:55 +0000</created>
                <updated>Sun, 29 Oct 2023 22:25:42 +0000</updated>
                            <resolved>Wed, 19 Dec 2018 16:15:10 +0000</resolved>
                                                    <fixVersion>4.1.7</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="2095930" author="xgen-internal-githook" created="Wed, 19 Dec 2018 16:14:54 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;jsmulrow&apos;, &apos;email&apos;: &apos;jack.mulrow@mongodb.com&apos;, &apos;name&apos;: &apos;Jack Mulrow&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38628&quot; title=&quot;Investigate failures in indexed_insert workloads in sharded transaction concurrency suites&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38628&quot;&gt;&lt;del&gt;SERVER-38628&lt;/del&gt;&lt;/a&gt; Concurrency txn passthroughs shouldn&apos;t modify thread local state until after commit&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/14e2a9697475191807f8ece0843876109ec25d5d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/14e2a9697475191807f8ece0843876109ec25d5d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2095298" author="jack.mulrow" created="Wed, 19 Dec 2018 00:12:05 +0000"  >&lt;p&gt;After some investigation, the problem seems to be in the concurrency framework, not the server. The concurrency multi statement transaction suites run existing fsm state functions inside transactions using &lt;tt&gt;withTxnAndAutoRetry&lt;/tt&gt; to retry the entire function on a transient error. To avoid prematurely modifying thread local state, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/r4.1.6/jstests/concurrency/fsm_libs/fsm.js#L56-L61&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;a copy of a thread&apos;s &lt;tt&gt;data&lt;/tt&gt; object (bound to the state function as &lt;tt&gt;this&lt;/tt&gt;) is used and swapped with the real data after the function completes&lt;/a&gt;.&#160;The bug is that the data variables are swapped after the state function finishes but before the transaction it ran inside commits. If the commit fails with a transient error, the entire state function will be retried, but the data will have already been modified, possibly leading to failures in workloads that assert on its values, like the &lt;tt&gt;indexed_insert*.js&lt;/tt&gt; workloads.&lt;/p&gt;

&lt;p&gt;In between the commit of the successful evergreen run in the description and master, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37884&quot; title=&quot;Coordinator should make its state durable before sending prepare and before sending the decision&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37884&quot;&gt;&lt;del&gt;SERVER-37884&lt;/del&gt;&lt;/a&gt; was committed, which significantly slowed down two phase commit and led to more transient failures committing transactions, exposing this bug.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.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_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, 19 Dec 2018 16:14:54 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 8 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-834</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 8 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>jack.mulrow@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hug95b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hu644n:</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="2639">Sharding 2018-12-17</customfieldvalue>
    <customfieldvalue id="2640">Sharding 2018-12-31</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|hufven:</customfieldvalue>

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