<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:36:01 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-77589] coordinateCommitTransaction shouldn&apos;t always wait for last system opTime</title>
                <link>https://jira.mongodb.org/browse/SERVER-77589</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Currently, the coordinateCommitTransaction command sets &lt;a href=&quot;https://github.com/mongodb/mongo/blob/4954cb44e1ceeda02db1902ffd7ea89d08c7b04c/src/mongo/db/s/txn_two_phase_commit_cmds.cpp#L287-L288&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;its client opTime to the system latest&lt;/a&gt; to guarantee it waits for a time at least as great as the time the decision was written at. When true, the coordinateCommitReturnImmediatelyAfterPersistingDecision server parameter lets coordinateCommitTransaction return as soon as the decision is written locally, so this allows respecting a user&apos;s write concern weaker than majority. As of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-63971&quot; title=&quot;Change server parameter to default to read-your-writes behavior after 2PC transaction&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-63971&quot;&gt;&lt;del&gt;SERVER-63971&lt;/del&gt;&lt;/a&gt;, that parameter is false by default, so now coordinateCommitTransaction only ends after the coordinator has received decision acknowledgements from all shards. The decision &lt;a href=&quot;https://github.com/mongodb/mongo/blob/4954cb44e1ceeda02db1902ffd7ea89d08c7b04c/src/mongo/db/s/transaction_coordinator_util.cpp#L469-L470&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;is sent with majority write concern&lt;/a&gt;, so coordinateCommitTransaction has effectively already waited for majority write concern, but will still set its client opTime forward, and likely end up waiting for majority write concern again.&lt;/p&gt;

&lt;p&gt;This means in the normal case, a two phase commit transaction will wait for 5 sequential majority replications:&lt;br/&gt;
1. Coordinator writing the participant list&lt;br/&gt;
2. Participants applying prepareTransaction&lt;br/&gt;
3. Coordinator writing the decision&lt;br/&gt;
4. Participants applying the decision&lt;br/&gt;
5. Coordinator waiting for system last opTime before returning from coordinateCommitTransaction&lt;/p&gt;

&lt;p&gt;The final wait is after the transaction has majority committed on all participants, so instead coordinateCommitTransaction should return immediately (as long as the user&apos;s write concern isn&apos;t stronger than majority). A possible fix is for the transaction coordinator to return an opTime for coordinateCommitTransaction to wait on, instead of having the command use the last system opTime.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2353868">SERVER-77589</key>
            <summary>coordinateCommitTransaction shouldn&apos;t always wait for last system opTime</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="kshitij.gupta@mongodb.com">Kshitij Gupta</assignee>
                                    <reporter username="jack.mulrow@mongodb.com">Jack Mulrow</reporter>
                        <labels>
                            <label>sharding-nyc-subteam2</label>
                    </labels>
                <created>Tue, 30 May 2023 17:11:42 +0000</created>
                <updated>Mon, 5 Feb 2024 17:33:11 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                        <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>19.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25134"><![CDATA[Sharding NYC]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        36 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_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>r.scott@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            36 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>jack.mulrow@mongodb.com</customfieldvalue>
            <customfieldvalue>kshitij.gupta@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2bfcf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1to08:</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="7362">Sharding NYC 2023-06-12</customfieldvalue>
    <customfieldvalue id="7363">Sharding NYC 2023-06-26</customfieldvalue>
    <customfieldvalue id="7364">Sharding NYC 2023-07-10</customfieldvalue>
    <customfieldvalue id="7365">Sharding NYC 2023-07-24</customfieldvalue>
    <customfieldvalue id="7542">Sharding NYC 2023-08-07</customfieldvalue>
    <customfieldvalue id="7543">Sharding NYC 2023-08-21</customfieldvalue>
    <customfieldvalue id="7544">Sharding NYC 2023-09-04</customfieldvalue>
    <customfieldvalue id="7765">Sharding NYC 2023-09-18</customfieldvalue>
    <customfieldvalue id="7766">Sharding NYC 2023-10-02</customfieldvalue>
    <customfieldvalue id="7767">Sharding NYC 2023-10-16</customfieldvalue>
    <customfieldvalue id="7768">Sharding NYC 2023-10-30</customfieldvalue>
    <customfieldvalue id="7769">Cluster Scalability 2023-11-13</customfieldvalue>
    <customfieldvalue id="7770">Cluster Scalability 2023-11-27</customfieldvalue>
    <customfieldvalue id="7771">Cluster Scalability 2023-12-11</customfieldvalue>
    <customfieldvalue id="7772">Cluster Scalability 2023-12-25</customfieldvalue>
    <customfieldvalue id="7991">Cluster Scalability 2024-1-8</customfieldvalue>
    <customfieldvalue id="7992">Cluster Scalability 2024-1-22</customfieldvalue>
    <customfieldvalue id="7993">Cluster Scalability 2024-2-5</customfieldvalue>
    <customfieldvalue id="8295">Cluster Scalability 2024-2-19</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </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|i2b1hr:</customfieldvalue>

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