<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:34:50 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-77213] Move the all transactions-related state from OperationContext to TransactionResources</title>
                <link>https://jira.mongodb.org/browse/SERVER-77213</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The &lt;tt&gt;TransactionResources&lt;/tt&gt; class is becoming the sole data structure which will hold all kinds of resources that can be acquired by an active transaction, where transaction is defined as per &lt;a href=&quot;https://github.com/mongodb/mongo/blob/06797deec0c5806e56a70a7d156556e0b028da7f/src/mongo/db/transaction_resources.h#L149-L184&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this description&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We will be moving in the way where the transaction resources is what gets moved between contexts rather than swapping each individual resource (listed below) independently.&lt;/p&gt;

&lt;p&gt;This ticket is specifically to move the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a21933c71366d3822967cbe82fcd7eddd2bb29dc/src/mongo/db/operation_context.h#L810-L812&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;Txn identification&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a21933c71366d3822967cbe82fcd7eddd2bb29dc/src/mongo/db/operation_context.h#L814&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;Locker&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a21933c71366d3822967cbe82fcd7eddd2bb29dc/src/mongo/db/operation_context.h#L816-L818&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;RecoveryUnit&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a21933c71366d3822967cbe82fcd7eddd2bb29dc/src/mongo/db/operation_context.h#L822&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;WriteUnitOfWork&lt;/tt&gt;&lt;/a&gt; state from &lt;tt&gt;OperationContext&lt;/tt&gt; to &lt;tt&gt;TransactionResources&lt;/tt&gt; and remove all traces of it from &lt;tt&gt;OperationContext&lt;/tt&gt;. This will also resolve circular dependency between the &lt;tt&gt;service_context&lt;/tt&gt; library and the rest of the server, leaving it to be a low-level library for building any service.&lt;/p&gt;

&lt;p&gt;As part of this change, we should also revisit all the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a21933c71366d3822967cbe82fcd7eddd2bb29dc/src/mongo/db/operation_context.h#L173-L174&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;swap*&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a21933c71366d3822967cbe82fcd7eddd2bb29dc/src/mongo/db/operation_context.h#L141&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;replace*&lt;/tt&gt;&lt;/a&gt; methods and how they are used. My interpretation is that they are used to implement various types of sub-transactions as part of the active one. For example, there is a sub-transaction kind, where we only replace the &lt;tt&gt;RecoveryUnit&lt;/tt&gt;, but maintain the locks, which we call &quot;Side Transaction&quot;. There are probably others and all these should be replaced by proper RAII types that operate on &lt;tt&gt;TransactionResources&lt;/tt&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2343143">SERVER-77213</key>
            <summary>Move the all transactions-related state from OperationContext to TransactionResources</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="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="backlog-server-catalog-and-routing">Backlog - Catalog and Routing</assignee>
                                    <reporter username="kaloian.manassiev@mongodb.com">Kaloian Manassiev</reporter>
                        <labels>
                            <label>PM-2144-QW-Fallout</label>
                            <label>shardingemea-qw</label>
                    </labels>
                <created>Wed, 17 May 2023 08:19:54 +0000</created>
                <updated>Thu, 1 Feb 2024 10:54:31 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="5717084" author="kaloian.manassiev" created="Wed, 20 Sep 2023 08:35:13 +0000"  >&lt;p&gt;This ticket is a subset of the changes that will be done under &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-78744&quot; title=&quot;Access Locker through locker_api.h&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-78744&quot;&gt;&lt;del&gt;SERVER-78744&lt;/del&gt;&lt;/a&gt;, so I am marking it as blocked until that&apos;s complete.&lt;/p&gt;</comment>
                            <comment id="5668169" author="JIRAUSER1257318" created="Wed, 30 Aug 2023 11:00:18 +0000"  >&lt;p&gt;As part of this ticket, consider moving WriteUnitOfWork &lt;a href=&quot;https://github.com/mongodb/mongo/blob/0822d6df96e940e3d069fdc26b8fec068f8b4ae0/src/mongo/db/operation_context.h#L800&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;from opCtx&lt;/a&gt; to TransactionResources as well.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2343513">SERVER-77227</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2340886">SERVER-77123</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2352684">SERVER-77544</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2354412">SERVER-77611</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2385336">SERVER-78744</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2501777">SERVER-83330</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2525981">SERVER-84229</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2353517">SERVER-77556</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="328820">SERVER-26879</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1298170">SERVER-47204</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2343354">SERVER-77224</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2346917">SERVER-77353</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2535298">SERVER-84481</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2543078">SERVER-84753</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2550967">SERVER-85434</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="2339211">SERVER-77065</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2385119">SERVER-78735</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>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>12.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_23812" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Assigned Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26467"><![CDATA[Catalog and Routing]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26387"><![CDATA[Catalog and Routing]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_23577" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>CAR Impact</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25715"><![CDATA[2 Medium  (users + team) or (team + external teams)]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 30 Aug 2023 11:00:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        20 weeks 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-77123'>SERVER-77123</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-77224'>SERVER-77224</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-77227'>SERVER-77227</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-77353'>SERVER-77353</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-77544'>SERVER-77544</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-77556'>SERVER-77556</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-77611'>SERVER-77611</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-47204'>SERVER-47204</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-26879'>SERVER-26879</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-78744'>SERVER-78744</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-83330'>SERVER-83330</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-84229'>SERVER-84229</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-84481'>SERVER-84481</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-84753'>SERVER-84753</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-85434'>SERVER-85434</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>sergi.mateo-bellido@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            20 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-catalog-and-routing</customfieldvalue>
            <customfieldvalue>jordi.serra-torrens@mongodb.com</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i29l5z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1rutc:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7187">Sharding EMEA 2023-05-29</customfieldvalue>
    <customfieldvalue id="7188">Sharding EMEA 2023-06-12</customfieldvalue>
    <customfieldvalue id="7189">Sharding EMEA 2023-06-26</customfieldvalue>
    <customfieldvalue id="7190">Sharding EMEA 2023-07-10</customfieldvalue>
    <customfieldvalue id="7719">Sharding EMEA 2023-10-02</customfieldvalue>
    <customfieldvalue id="7720">Sharding EMEA 2023-10-16</customfieldvalue>
    <customfieldvalue id="7721">Sharding EMEA 2023-10-30</customfieldvalue>
    <customfieldvalue id="7888">CAR Team 2023-11-13</customfieldvalue>
    <customfieldvalue id="7889">CAR Team 2023-11-27</customfieldvalue>
    <customfieldvalue id="7890">CAR Team 2023-12-11</customfieldvalue>
    <customfieldvalue id="7891">CAR Team 2023-12-25</customfieldvalue>
    <customfieldvalue id="7892">CAR Team 2024-01-08</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|i297bb:</customfieldvalue>

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