<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:10:31 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-46105] Allow new collection creation inside prepared transactions.</title>
                <link>https://jira.mongodb.org/browse/SERVER-46105</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45945&quot; title=&quot;Prohibit collection/index creation inside prepared transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45945&quot;&gt;&lt;del&gt;SERVER-45945&lt;/del&gt;&lt;/a&gt; describes known wrinkles with this presently. The solution should take these into consideration.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1144951">SERVER-46105</key>
            <summary>Allow new collection creation inside prepared transactions.</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="maria.vankeulen@mongodb.com">Maria van Keulen</reporter>
                        <labels>
                    </labels>
                <created>Wed, 12 Feb 2020 17:59:15 +0000</created>
                <updated>Wed, 8 Nov 2023 08:46:47 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>17</watches>
                                                                                                                <comments>
                            <comment id="5703508" author="josef.ahmad" created="Thu, 14 Sep 2023 11:46:33 +0000"  >&lt;p&gt;I am marking this ticket as dependent on &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-81037&quot; title=&quot;Cluster the local durable catalog or index it by namespace&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-81037&quot;&gt;SERVER-81037&lt;/a&gt;, which is a placeholder for a proposal to migrate most of the catalog concurrency control to the storage engine.&lt;/p&gt;</comment>
                            <comment id="5668123" author="josef.ahmad" created="Wed, 30 Aug 2023 10:16:25 +0000"  >&lt;p&gt;After consulting with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=gregory.wlodarek%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;gregory.wlodarek@mongodb.com&quot;&gt;gregory.wlodarek@mongodb.com&lt;/a&gt;, it turns out that creating a collection inside a prepared transaction needs additional local catalog work. Today, the catalog only detects &lt;a href=&quot;https://github.com/10gen/mongo/blob/ce7d7c9c84572cd0f72288af2a9fbe3aeb315b5b/src/mongo/db/catalog/collection_catalog.cpp#L298-L313&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;conflicting uncommitted catalog updates&lt;/a&gt; for unprepared transactions. For prepared transactions, the conflict detection must happen at prepare time rather than at commit time; that also requires handling prepare conflicts with concurrent uncommitted catalog updates, which I&apos;m unsure the catalog is capable of today.&lt;/p&gt;</comment>
                            <comment id="5598217" author="josef.ahmad" created="Fri, 28 Jul 2023 13:29:24 +0000"  >&lt;p&gt;I managed to POC an &lt;a href=&quot;https://spruce.mongodb.com/version/64c36d610305b91cfbdd563d/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;initial cut&lt;/a&gt; of implicit collection creation, modulo createIndexes support which needs a redesign of the concurrency model on secondaries.&lt;/p&gt;</comment>
                            <comment id="5594669" author="josef.ahmad" created="Thu, 27 Jul 2023 08:23:22 +0000"  >&lt;p&gt;I may have jumped the gun. The issue on secondaries described in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45945&quot; title=&quot;Prohibit collection/index creation inside prepared transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45945&quot;&gt;&lt;del&gt;SERVER-45945&lt;/del&gt;&lt;/a&gt; seems to be still present.&lt;/p&gt;</comment>
                            <comment id="5592533" author="josef.ahmad" created="Wed, 26 Jul 2023 13:59:13 +0000"  >&lt;p&gt;I&apos;ve experimented with removing the guard rails that prevent an end user from implicitly creating a collection in a distributed transaction, and I was able to create the collection implicitly. It looks like we&apos;ve (perhaps inadvertently) resolved the issue described in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45945&quot; title=&quot;Prohibit collection/index creation inside prepared transactions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45945&quot;&gt;&lt;del&gt;SERVER-45945&lt;/del&gt;&lt;/a&gt;. Here&apos;s a snippet of the oplog entries on one shard, demonstrating the implicit collection creation:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;lsid&quot; : { &quot;id&quot; : UUID(&quot;aef5f2d4-ab8d-4144-8d6a-ab585bf66ec8&quot;), &quot;uid&quot; : BinData(0,&quot;47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=&quot;) }, &quot;txnNumber&quot; : NumberLong(0), &quot;op&quot; : &quot;c&quot;, &quot;ns&quot; : &quot;admin.$cmd&quot;, &quot;o&quot; : { &quot;commitTransaction&quot; : 1, &quot;commitTimestamp&quot; : Timestamp(1690366129, 7) }, &quot;ts&quot; : Timestamp(1690366129, 9), &quot;t&quot; : NumberLong(1), &quot;v&quot; : NumberLong(2), &quot;wall&quot; : ISODate(&quot;2023-07-26T10:08:49.732Z&quot;), &quot;prevOpTime&quot; : { &quot;ts&quot; : Timestamp(1690366129, 7), &quot;t&quot; : NumberLong(1) } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{ &quot;lsid&quot; : { &quot;id&quot; : UUID(&quot;aef5f2d4-ab8d-4144-8d6a-ab585bf66ec8&quot;), &quot;uid&quot; : BinData(0,&quot;47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=&quot;) }, &quot;txnNumber&quot; : NumberLong(0), &quot;op&quot; : &quot;c&quot;, &quot;ns&quot; : &quot;admin.$cmd&quot;, &quot;o&quot; : { &quot;applyOps&quot; : [ { &quot;op&quot; : &quot;i&quot;, &quot;ns&quot; : &quot;test.c&quot;, &quot;ui&quot; : UUID(&quot;84d6dfd0-60fc-4bf4-84ab-5cbb15b57543&quot;), &quot;o&quot; : { &quot;_id&quot; : ObjectId(&quot;64c0f0ab0403d5d5573ba686&quot;) }, &quot;o2&quot; : { &quot;_id&quot; : ObjectId(&quot;64c0f0ab0403d5d5573ba686&quot;) } }, { &quot;op&quot; : &quot;c&quot;, &quot;ns&quot; : &quot;test.$cmd&quot;, &quot;ui&quot; : UUID(&quot;5cc56dd9-f8b1-4745-aefa-8b5b7cc949b7&quot;), &quot;o&quot; : { &quot;create&quot; : &quot;c2&quot;, &quot;idIndex&quot; : { &quot;v&quot; : 2, &quot;key&quot; : { &quot;_id&quot; : 1 }, &quot;name&quot; : &quot;_id_&quot; } } }, { &quot;op&quot; : &quot;i&quot;, &quot;ns&quot; : &quot;test.c2&quot;, &quot;ui&quot; : UUID(&quot;5cc56dd9-f8b1-4745-aefa-8b5b7cc949b7&quot;), &quot;o&quot; : { &quot;_id&quot; : ObjectId(&quot;64c0f0ac0403d5d5573ba696&quot;) }, &quot;o2&quot; : { &quot;_id&quot; : ObjectId(&quot;64c0f0ac0403d5d5573ba696&quot;) } } ], &quot;prepare&quot; : true }, &quot;ts&quot; : Timestamp(1690366129, 7), &quot;t&quot; : NumberLong(1), &quot;v&quot; : NumberLong(2), &quot;wall&quot; : ISODate(&quot;2023-07-26T10:08:49.703Z&quot;), &quot;prevOpTime&quot; : { &quot;ts&quot; : Timestamp(0, 0), &quot;t&quot; : NumberLong(-1) } }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;The &lt;a href=&quot;https://spruce.mongodb.com/version/64c0f3a957e85a4f91fb59d8/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;evergreen patch&lt;/a&gt; is green, except for the tests that verified that implicit collection creation in distributed transactions is disallowed.&lt;/p&gt;

&lt;p&gt;The feature needs comprehensive validation coverage, and more work will likely surface.&lt;/p&gt;</comment>
                            <comment id="2877499" author="milkie" created="Thu, 13 Feb 2020 20:40:17 +0000"  >&lt;p&gt;We will consider backporting this work to 4.4&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2441301">SERVER-81037</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1128712">SERVER-45945</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2452668">SERVER-81498</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>8.0</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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 13 Feb 2020 20:40:17 +0000</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            20 weeks, 6 days 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>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>josef.ahmad@mongodb.com</customfieldvalue>
            <customfieldvalue>maria.vankeulen@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hwq61j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr25fk:</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="4365">Execution Team 2021-01-11</customfieldvalue>
    <customfieldvalue id="7537">Execution EMEA Team 2023-08-07</customfieldvalue>
    <customfieldvalue id="7538">Execution EMEA Team 2023-08-21</customfieldvalue>
    <customfieldvalue id="7539">Execution EMEA Team 2023-09-04</customfieldvalue>
    <customfieldvalue id="7684">Execution EMEA Team 2023-09-18</customfieldvalue>
    <customfieldvalue id="7685">Execution EMEA Team 2023-10-02</customfieldvalue>
    <customfieldvalue id="7722">Execution EMEA Team 2023-10-16</customfieldvalue>
    <customfieldvalue id="7723">Execution EMEA Team 2023-10-30</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|hwpsav:</customfieldvalue>

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