<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:40:08 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-79123] Tests enabling skipWriteConflictRetries failpoint incompatible with index build abort</title>
                <link>https://jira.mongodb.org/browse/SERVER-79123</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Index builds handle WriteConflicts while aborting, and it is not expected that the operation fails as it means the index build ended up partially teared down, triggering this &lt;a href=&quot;https://github.com/10gen/mongo/blob/2399ce2c873fbe9bdfd430c614458b25f67cd7df/src/mongo/db/index_builds_coordinator.cpp#L1635&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;fassert&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The initial sync fuzzer, and potentially other tests, enable the skipWriteConflictRetries and can trigger the fassert.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2395944">SERVER-79123</key>
            <summary>Tests enabling skipWriteConflictRetries failpoint incompatible with index build abort</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="benety.goh@mongodb.com">Benety Goh</assignee>
                                    <reporter username="yujin.kang@mongodb.com">Yujin Kang Park</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Jul 2023 16:04:13 +0000</created>
                <updated>Sun, 29 Oct 2023 21:18:43 +0000</updated>
                            <resolved>Tue, 29 Aug 2023 17:51:31 +0000</resolved>
                                                    <fixVersion>7.2.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="5666142" author="xgen-internal-githook" created="Tue, 29 Aug 2023 15:19:04 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-79123&quot; title=&quot;Tests enabling skipWriteConflictRetries failpoint incompatible with index build abort&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-79123&quot;&gt;&lt;del&gt;SERVER-79123&lt;/del&gt;&lt;/a&gt; add warning message during index build abort for write conflict in test environment&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/3aeaec970711c7f9483d881bb867d5c66e01db92&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/3aeaec970711c7f9483d881bb867d5c66e01db92&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5659495" author="max.hirschhorn@10gen.com" created="Fri, 25 Aug 2023 15:11:52 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=benety.goh%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;benety.goh@mongodb.com&quot;&gt;benety.goh@mongodb.com&lt;/a&gt;, I&apos;m not sure I understand. Won&apos;t the change you&apos;re proposing mean BF-28966 cannot be resolved because the fassert() will still occur?&lt;/p&gt;</comment>
                            <comment id="5659412" author="benety.goh" created="Fri, 25 Aug 2023 14:48:49 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=max.hirschhorn%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;max.hirschhorn@mongodb.com&quot;&gt;max.hirschhorn@mongodb.com&lt;/a&gt;, in this case the index build abort, initiated through the voteAbortIndexBuild command, is considered a user operation in the context of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-49396&quot; title=&quot;Only activate skipWriteConflictRetries failpoint for user connections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-49396&quot;&gt;&lt;del&gt;SERVER-49396&lt;/del&gt;&lt;/a&gt;. It would have been fine to relay the WriteConflict to the caller if not for this &lt;a href=&quot;https://github.com/mongodb/mongo/blob/44d44fc65f6cea228ddf6be48575d690457fac93/src/mongo/db/index_builds_coordinator.cpp#L1359&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;fassert&lt;/a&gt; in the index abort callstack.&lt;/p&gt;

&lt;p&gt;Since the skipWriteConflictRetries mechanism is critical to our rollback and initial sync fuzzer framework and that the issue in this ticket does not affect production deployments, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=yujin.kang%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;yujin.kang@mongodb.com&quot;&gt;yujin.kang@mongodb.com&lt;/a&gt; and I are considering adding a warning message before the fatal assertion to assist developers in diagnosing build failures with this exact failure.&lt;/p&gt;</comment>
                            <comment id="5652254" author="max.hirschhorn@10gen.com" created="Tue, 22 Aug 2023 23:01:20 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=benety.goh%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;benety.goh@mongodb.com&quot;&gt;benety.goh@mongodb.com&lt;/a&gt;, it isn&apos;t important that the exception propagates as a WriteConflict back to the client. What is important is for the initial sync fuzzer and rollback fuzzer to receive EWOULDBLOCK&amp;#45;like errors when running their operations and avoid ending up in a test&amp;#45;induced deadlock.&lt;/p&gt;

&lt;p&gt;I didn&apos;t fully understand the explanation for how index builds are impacted by the enablement of the &lt;tt&gt;skipWriteConflictRetries&lt;/tt&gt; failpoint. Would it be possible to extend the work done under &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-49396&quot; title=&quot;Only activate skipWriteConflictRetries failpoint for user connections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-49396&quot;&gt;&lt;del&gt;SERVER-49396&lt;/del&gt;&lt;/a&gt; to restrict the activation of the &lt;tt&gt;skipWriteConflictRetries&lt;/tt&gt; failpoint to only user operations and skip the index build voting&amp;#45;related commands? If changing the server behavior this way is undesirable then perhaps the &lt;tt&gt;skipWriteConflictRetries&lt;/tt&gt; failpoint can be made specific to a particular Client similar to the &lt;tt&gt;checkForInterruptFail&lt;/tt&gt; failpoint? The rollback fuzzer will re&amp;#45;establish new connections and so maybe conditioning on appName like the &lt;tt&gt;failCommand&lt;/tt&gt; failpoint would be a more suitable alternative if we&apos;re not considering changing the index build voting&amp;#45;related commands.&lt;/p&gt;</comment>
                            <comment id="5651257" author="benety.goh" created="Tue, 22 Aug 2023 17:46:30 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=max.hirschhorn%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;max.hirschhorn@mongodb.com&quot;&gt;max.hirschhorn@mongodb.com&lt;/a&gt;, do you think this fail point still makes sense to keep around today? It seems to trigger behavior that doesn&apos;t seem in line with how the server deals with WriteConflictExceptions internally, in that we generally don&apos;t expect to bubble up WriteConflictExceptions to the user. CC:&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=geert.bosch%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;geert.bosch@mongodb.com&quot;&gt;geert.bosch@mongodb.com&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=josef.ahmad%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;josef.ahmad@mongodb.com&quot;&gt;josef.ahmad@mongodb.com&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5650561" author="benety.goh" created="Tue, 22 Aug 2023 15:08:22 +0000"  >&lt;p&gt;This fail point was added in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40062&quot; title=&quot;Add failpoint to skip doing retries on WriteConflictExceptions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40062&quot;&gt;&lt;del&gt;SERVER-40062&lt;/del&gt;&lt;/a&gt;. From this &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40062?focusedCommentId=2184576&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-2184576&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;comment&lt;/a&gt; on &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40062&quot; title=&quot;Add failpoint to skip doing retries on WriteConflictExceptions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40062&quot;&gt;&lt;del&gt;SERVER-40062&lt;/del&gt;&lt;/a&gt;, it looks like the fail point was introduced to work around &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40103&quot; title=&quot;Improve retry behavior of non-txn writes conflicting with txns&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40103&quot;&gt;&lt;del&gt;SERVER-40103&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40105&quot; title=&quot;Improve diagnostic information in currentOp for excessive write conflicts and prepare conflicts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40105&quot;&gt;&lt;del&gt;SERVER-40105&lt;/del&gt;&lt;/a&gt;, which has since been resolved.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1405052">SERVER-49396</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="714432">SERVER-40062</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2242901">SERVER-73292</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="716169">SERVER-40103</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="716174">SERVER-40105</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>6.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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26007"><![CDATA[Storage Execution NAMER]]></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>Tue, 22 Aug 2023 15:08:22 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        23 weeks, 1 day 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>
                            23 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.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>benety.goh@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
            <customfieldvalue>yujin.kang@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2imbj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i20r54:</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="7184">Execution NAMR Team 2023-09-04</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|i2i8gv:</customfieldvalue>

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