<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:19:23 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-28903] Implement transactions documents persistence</title>
                <link>https://jira.mongodb.org/browse/SERVER-28903</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;This task is about implementing an API to initialize and write entries in the &lt;tt&gt;admin.system.transactions&lt;/tt&gt; collection, according to the guidelines in the &lt;a href=&quot;https://docs.google.com/document/d/1O__E4z-D7YidK4UL0kAJaaNr5yqg_ViRrpEEK-YlyuY/edit#heading=h.4xuiyaiocj6b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;design&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As part of this task we need to figure out:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;What the API should look like, its concurrency rules (i.e., what locks need to be held, where are the write unit of work boundaries, etc)&lt;/li&gt;
	&lt;li&gt;How to best capture the write outcome information and put it in the transactions document (this includes the n, nModified, etc statistics which are generated at a location, which is outside of the oplog generation)&lt;/li&gt;
	&lt;li&gt;Whether some form of caching is necessary&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;It does not include preventing replication of the &lt;tt&gt;admin.system.transactions&lt;/tt&gt; collection, which is covered by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28902&quot; title=&quot;Prevent replication of the admin.system.transactions collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28902&quot;&gt;&lt;del&gt;SERVER-28902&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Update:&lt;br/&gt;
New design will be such that the transactions document will not store the write results, but a pointer to the oplog entry of the last write. In addition, the oplog entries will now have a prevTs field that will link to the previous write in the same transaction. By following the chain of oplog entries, it is possible to determine which writes happened as well as the results for them&lt;/p&gt;</description>
                <environment></environment>
        <key id="376210">SERVER-28903</key>
            <summary>Implement transactions documents persistence</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="randolph@mongodb.com">Randolph Tan</assignee>
                                    <reporter username="kaloian.manassiev@mongodb.com">Kaloian Manassiev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 21 Apr 2017 14:57:07 +0000</created>
                <updated>Mon, 30 Oct 2023 23:17:18 +0000</updated>
                            <resolved>Thu, 6 Jul 2017 17:18:12 +0000</resolved>
                                                    <fixVersion>3.5.10</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="1615584" author="xgen-internal-githook" created="Thu, 6 Jul 2017 19:56:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;renctan&apos;, u&apos;name&apos;: u&apos;Randolph Tan&apos;, u&apos;email&apos;: u&apos;randolph@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28903&quot; title=&quot;Implement transactions documents persistence&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28903&quot;&gt;&lt;del&gt;SERVER-28903&lt;/del&gt;&lt;/a&gt; Fix clang link failure&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/18929c5f6887d5bf49b163c0ee13f158f91f7ec8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/18929c5f6887d5bf49b163c0ee13f158f91f7ec8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1615405" author="xgen-internal-githook" created="Thu, 6 Jul 2017 17:14:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;renctan&apos;, u&apos;name&apos;: u&apos;Randolph Tan&apos;, u&apos;email&apos;: u&apos;randolph@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28903&quot; title=&quot;Implement transactions documents persistence&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28903&quot;&gt;&lt;del&gt;SERVER-28903&lt;/del&gt;&lt;/a&gt; Implement session history iterator&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/fa8c900800a61cd399554f27d43ca58870a95187&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/fa8c900800a61cd399554f27d43ca58870a95187&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1612903" author="xgen-internal-githook" created="Mon, 3 Jul 2017 15:12:01 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;renctan&apos;, u&apos;name&apos;: u&apos;Randolph Tan&apos;, u&apos;email&apos;: u&apos;randolph@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28903&quot; title=&quot;Implement transactions documents persistence&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28903&quot;&gt;&lt;del&gt;SERVER-28903&lt;/del&gt;&lt;/a&gt; Implement session transaction record inserts/updates&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/fc022697a81eb576c7813449739c507f8998a967&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/fc022697a81eb576c7813449739c507f8998a967&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1612902" author="xgen-internal-githook" created="Mon, 3 Jul 2017 15:12:00 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;renctan&apos;, u&apos;name&apos;: u&apos;Randolph Tan&apos;, u&apos;email&apos;: u&apos;randolph@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28903&quot; title=&quot;Implement transactions documents persistence&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28903&quot;&gt;&lt;del&gt;SERVER-28903&lt;/del&gt;&lt;/a&gt; Make Transaction state store last write optime instead of write results&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/daf92c6fa479f51b1a1d18cacf56b0a1bbeba9fb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/daf92c6fa479f51b1a1d18cacf56b0a1bbeba9fb&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1605588" author="xgen-internal-githook" created="Fri, 23 Jun 2017 20:10:01 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;kaloianm&apos;, u&apos;name&apos;: u&apos;Kaloian Manassiev&apos;, u&apos;email&apos;: u&apos;kaloian.manassiev@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28903&quot; title=&quot;Implement transactions documents persistence&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28903&quot;&gt;&lt;del&gt;SERVER-28903&lt;/del&gt;&lt;/a&gt; Fix bad include for std::unordered_map&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/614c7e06924d2b490c4ad4e8916b2b7db610b7da&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/614c7e06924d2b490c4ad4e8916b2b7db610b7da&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1605387" author="xgen-internal-githook" created="Fri, 23 Jun 2017 16:58:41 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;renctan&apos;, u&apos;name&apos;: u&apos;Randolph Tan&apos;, u&apos;email&apos;: u&apos;randolph@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28903&quot; title=&quot;Implement transactions documents persistence&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28903&quot;&gt;&lt;del&gt;SERVER-28903&lt;/del&gt;&lt;/a&gt; Session Transaction State and Table skeleton code&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a02c5e1cf53e83de05d3c98ed38673d91a350ce0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a02c5e1cf53e83de05d3c98ed38673d91a350ce0&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1600612" author="xgen-internal-githook" created="Mon, 19 Jun 2017 13:26:58 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;renctan&apos;, u&apos;name&apos;: u&apos;Randolph Tan&apos;, u&apos;email&apos;: u&apos;randolph@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28903&quot; title=&quot;Implement transactions documents persistence&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28903&quot;&gt;&lt;del&gt;SERVER-28903&lt;/del&gt;&lt;/a&gt; Convert WriteResult::SingleResult to idl&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/93792040144f9c6197899627290b641073c549c4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/93792040144f9c6197899627290b641073c549c4&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.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>Tue, 13 Jun 2017 23:47:13 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        6 years, 31 weeks, 6 days 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-257</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>
                            6 years, 31 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>randolph@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|ht66bz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsygq7:</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="1704">Sharding 2017-05-29</customfieldvalue>
    <customfieldvalue id="1727">Sharding 2017-07-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|hs4abr:</customfieldvalue>

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