<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:42: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-36310] Unblacklist transactions from all jscore passthroughs that use replica sets</title>
                <link>https://jira.mongodb.org/browse/SERVER-36310</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;To do this we&apos;ll need to buffer operations in a transaction so we can retry the entire transaction if the transaction errors on failover.&lt;/p&gt;</description>
                <environment></environment>
        <key id="576733">SERVER-36310</key>
            <summary>Unblacklist transactions from all jscore passthroughs that use replica sets</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="judah.schvimer@mongodb.com">Judah Schvimer</reporter>
                        <labels>
                            <label>ShardedTxn:Testing</label>
                            <label>prepare_optional</label>
                            <label>prepare_testing</label>
                    </labels>
                <created>Thu, 26 Jul 2018 18:45:07 +0000</created>
                <updated>Tue, 6 Dec 2022 03:23:16 +0000</updated>
                            <resolved>Fri, 17 May 2019 18:44:57 +0000</resolved>
                                                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="2141356" author="judah.schvimer" created="Thu, 7 Feb 2019 17:59:21 +0000"  >&lt;p&gt;Per team discussion, we are making this optional. Before closing this ticket we should see if there are any tests in &lt;tt&gt;core/txns/&lt;/tt&gt; that can be run in our &lt;tt&gt;non-txn_override.js&lt;/tt&gt; stepdown, kill, or terminate suites as is, or with minimal changes to &lt;tt&gt;auto_retry_on_network_error.js&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="2120524" author="jack.mulrow" created="Fri, 18 Jan 2019 16:53:22 +0000"  >&lt;p&gt;Like I mentioned at the meeting last week, as far as I can tell most of the tests in &lt;tt&gt;core/txns&lt;/tt&gt;&#160;seem to test the transaction API or edge cases, and since we already have suites dedicated to running them against different topologies (e.g. &lt;tt&gt;sharded_jscore_txns&lt;/tt&gt;) and that run the more generic &lt;tt&gt;core&lt;/tt&gt; tests wrapped in transactions with stepdowns/terminates/kills (as of&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-36311&quot; title=&quot;Add stepdowns, shutdowns, and crashes to replica_sets_multi_stmt_txn_jscore_passthrough.yml&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-36311&quot;&gt;&lt;del&gt;SERVER-36311&lt;/del&gt;&lt;/a&gt;), I don&apos;t think this would give us much more coverage.&lt;/p&gt;

&lt;p&gt;That said, I think an override that wraps these tests in a retry loop that only handles TransientTransaction errors would still be useful, since I&apos;ve realized that there&apos;s nothing preventing one of these tests from failing with a transient error even without stepdowns, etc, which will lead to unnecessary BFs (like&#160;BF-11904). I filed &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-39082&quot; title=&quot;Retry on TransientTransaction errors in targeted transaction jstests&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-39082&quot;&gt;&lt;del&gt;SERVER-39082&lt;/del&gt;&lt;/a&gt; to track adding just this functionality and made it a sharding waiting for bug fix day ticket, since the sharding passthroughs for &lt;tt&gt;core/txns&lt;/tt&gt; are particularly likely to hit transient errors.&lt;/p&gt;</comment>
                            <comment id="2118718" author="judah.schvimer" created="Thu, 17 Jan 2019 19:39:26 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jack.mulrow&quot; class=&quot;user-hover&quot; rel=&quot;jack.mulrow&quot;&gt;jack.mulrow&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=max.hirschhorn&quot; class=&quot;user-hover&quot; rel=&quot;max.hirschhorn&quot;&gt;max.hirschhorn&lt;/a&gt;, please add any thoughts on how much added test coverage this would actually give us.&lt;/p&gt;</comment>
                            <comment id="1964006" author="judah.schvimer" created="Thu, 2 Aug 2018 14:46:03 +0000"  >&lt;p&gt;I agree with Max&apos;s proposal.&lt;/p&gt;</comment>
                            <comment id="1963607" author="max.hirschhorn@10gen.com" created="Thu, 2 Aug 2018 00:37:47 +0000"  >&lt;p&gt;There&apos;s some overlap here with &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-36311&quot; title=&quot;Add stepdowns, shutdowns, and crashes to replica_sets_multi_stmt_txn_jscore_passthrough.yml&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-36311&quot;&gt;&lt;del&gt;SERVER-36311&lt;/del&gt;&lt;/a&gt; that I&apos;ve moved my original comment there. In order to accomplish the work in this ticket, we&apos;d still need the same changes to the &lt;tt&gt;auto_retry_on_network_error.js&lt;/tt&gt; override file.&lt;/p&gt;

&lt;p&gt;We&apos;d additionally need a new override file that handles &lt;tt&gt;commandObj&lt;/tt&gt; and &lt;tt&gt;makeFuncArgs&lt;/tt&gt; in the same way as described for the modifications to &lt;tt&gt;jstests/libs/txns/txn_override.js&lt;/tt&gt;; however, it is made more complicated by how &lt;tt&gt;src/mongo/shell/session.js&lt;/tt&gt; is responsible for filling in the &lt;tt&gt;txnNumber&lt;/tt&gt; because the &lt;tt&gt;jstests/core/txns/&lt;/tt&gt; tests use the mongo shell APIs to run transactions themselves. The new override file would effectively need to learn of a new transaction by seeing a different &lt;tt&gt;txnNumber&lt;/tt&gt; field in the &lt;tt&gt;commandObj&lt;/tt&gt; argument compared to the &lt;tt&gt;commandObj&lt;/tt&gt; from when it was called previously. It would also need to keep the underlying &lt;tt&gt;DriverSession&lt;/tt&gt; in sync with the current transaction number to use as the &lt;tt&gt;runWithRetriesOnNetworkErrors()&lt;/tt&gt; calling the overridden &lt;tt&gt;Mongo.prototype.runCommand()&lt;/tt&gt; function of &lt;tt&gt;jstests/libs/txns/txn_override.js&lt;/tt&gt; is incrementing the transaction number on its own.&lt;/p&gt;

&lt;p&gt;I&apos;d like to propose that we hold off on this ticket until &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-36311&quot; title=&quot;Add stepdowns, shutdowns, and crashes to replica_sets_multi_stmt_txn_jscore_passthrough.yml&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-36311&quot;&gt;&lt;del&gt;SERVER-36311&lt;/del&gt;&lt;/a&gt; is completed as we&apos;ll like be able to reuse some of &quot;how to buffer operations inside of the same transaction&quot; logic.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="654036">SERVER-38631</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="560875">SERVER-35659</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="674824">SERVER-39082</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="576734">SERVER-36311</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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25128"><![CDATA[Replication]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 2 Aug 2018 00:37:47 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 6 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-38631'>SERVER-38631</a></s>]]></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_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>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>jack.mulrow@mongodb.com</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hu3iqf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr8ewf:</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="2481">Sharding 2018-09-10</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|hu34zr:</customfieldvalue>

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