<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:42:45 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-57775] collection metadata for multikey not removed after WriteConflictException from durable catalog update</title>
                <link>https://jira.mongodb.org/browse/SERVER-57775</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The collection metadata in CollectionImpl tracks both the uncommitted changes in memory and the persisted state in DurableCatalog. The IndexCatalogEntry updates the collection metadata for multikey by calling CollectionImpl::setIndexIsMultikey(). All updates on the collection metadata has to be done in a storage transaction (WriteUnitOfWork) with cleanup handlers to clear the uncommitted state if the transaction is aborted. If a WriteConflictException is thrown from &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2e6ee47814057a76c8ad5b9a80f9f533308e0c78/src/mongo/db/catalog/collection_impl.cpp#L1867&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;DurableCatalog::putMetaData()&lt;/a&gt; before the rollback handler to remove the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2e6ee47814057a76c8ad5b9a80f9f533308e0c78/src/mongo/db/catalog/collection_impl.cpp#L1878&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;uncommitted multikey state&lt;/a&gt; is installed, we may end up with a collection metadata state where subsequent writers may observe uncommitted multikey information that should have been discarded.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1788169">SERVER-57775</key>
            <summary>collection metadata for multikey not removed after WriteConflictException from durable catalog update</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="benety.goh@mongodb.com">Benety Goh</assignee>
                                    <reporter username="benety.goh@mongodb.com">Benety Goh</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Jun 2021 10:18:12 +0000</created>
                <updated>Sun, 29 Oct 2023 21:52:03 +0000</updated>
                            <resolved>Mon, 21 Jun 2021 12:33:26 +0000</resolved>
                                                    <fixVersion>5.0.0-rc5</fixVersion>
                    <fixVersion>5.1.0-rc0</fixVersion>
                                    <component>Storage</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4107378" author="JIRAUSER1259052" created="Wed, 6 Oct 2021 18:24:58 +0000"  >&lt;p&gt;Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it&#8217;s been triggered. For more active release information, please keep an eye on #server-release. Thank you!&lt;/p&gt;</comment>
                            <comment id="3899175" author="xgen-internal-githook" created="Thu, 24 Jun 2021 23:28:41 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-57775&quot; title=&quot;collection metadata for multikey not removed after WriteConflictException from durable catalog update&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-57775&quot;&gt;&lt;del&gt;SERVER-57775&lt;/del&gt;&lt;/a&gt; CollectionImpl removes uncommitted multikey state if DurableCatalog::putMetaData() fails&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 91a631f40727f00140bc652d13a3058a8fbbf314)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ff5ac33fbb9e92a50b641d4007cfd9b05c6ed225&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ff5ac33fbb9e92a50b641d4007cfd9b05c6ed225&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3898872" author="xgen-internal-githook" created="Thu, 24 Jun 2021 20:35:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-57775&quot; title=&quot;collection metadata for multikey not removed after WriteConflictException from durable catalog update&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-57775&quot;&gt;&lt;del&gt;SERVER-57775&lt;/del&gt;&lt;/a&gt; add tests for Collection::setIndexIsMultikey()&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 360823520e1ba097d9f7afedc20863124ddaccf6)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c6ebda4b612b0f1da93e1892a3765c9581f3dc62&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c6ebda4b612b0f1da93e1892a3765c9581f3dc62&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3898868" author="xgen-internal-githook" created="Thu, 24 Jun 2021 20:34:17 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-57775&quot; title=&quot;collection metadata for multikey not removed after WriteConflictException from durable catalog update&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-57775&quot;&gt;&lt;del&gt;SERVER-57775&lt;/del&gt;&lt;/a&gt; add EFTAlwaysThrowWCEOnWrite fail point&lt;/p&gt;

&lt;p&gt;This serves a similar purpose to WTWriteConflictException for the WiredTiger storage engine.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 9753384b0dd1897fd4373ac8325d20cf80cdceec)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e2162a7e9258a7e7e85e1413c0395c5526d00e32&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e2162a7e9258a7e7e85e1413c0395c5526d00e32&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3886622" author="xgen-internal-githook" created="Fri, 18 Jun 2021 10:10:30 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-57775&quot; title=&quot;collection metadata for multikey not removed after WriteConflictException from durable catalog update&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-57775&quot;&gt;&lt;del&gt;SERVER-57775&lt;/del&gt;&lt;/a&gt; CollectionImpl removes uncommitted multikey state if DurableCatalog::putMetaData() fails&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/91a631f40727f00140bc652d13a3058a8fbbf314&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/91a631f40727f00140bc652d13a3058a8fbbf314&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3885766" author="xgen-internal-githook" created="Thu, 17 Jun 2021 19:41:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-57775&quot; title=&quot;collection metadata for multikey not removed after WriteConflictException from durable catalog update&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-57775&quot;&gt;&lt;del&gt;SERVER-57775&lt;/del&gt;&lt;/a&gt; add tests for Collection::setIndexIsMultikey()&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/360823520e1ba097d9f7afedc20863124ddaccf6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/360823520e1ba097d9f7afedc20863124ddaccf6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3885462" author="xgen-internal-githook" created="Thu, 17 Jun 2021 17:51:41 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-57775&quot; title=&quot;collection metadata for multikey not removed after WriteConflictException from durable catalog update&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-57775&quot;&gt;&lt;del&gt;SERVER-57775&lt;/del&gt;&lt;/a&gt; add EFTAlwaysThrowWCEOnWrite fail point&lt;/p&gt;

&lt;p&gt;This serves a similar purpose to WTWriteConflictException for the WiredTiger storage engine.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9753384b0dd1897fd4373ac8325d20cf80cdceec&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9753384b0dd1897fd4373ac8325d20cf80cdceec&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1788485">SERVER-57786</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1676636">SERVER-56002</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1677707">SERVER-56023</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1711537">SERVER-56877</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1743611">SERVER-57127</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>7.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_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="21777"><![CDATA[v5.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>Thu, 17 Jun 2021 17:51:41 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 18 weeks 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></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>
                            2 years, 18 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>127.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hz7k9r:</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="4880">Execution Team 2021-06-28</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|hzmnxj:</customfieldvalue>

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