<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:48:14 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-59831] WTUniqueIndex::_insert expects secondaries to pass in dupsAllowed=true</title>
                <link>https://jira.mongodb.org/browse/SERVER-59831</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Using &lt;tt&gt;dupsAllowed=false&lt;/tt&gt; when &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a9d88f030f694318e01fec7eeb626503417c8481/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp#L1535-L1583&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;inserting into a secondary unique index results&lt;/a&gt; in inserting + removing on a &quot;prefix&quot; document to serialize access to enforce unique constraints.&lt;/p&gt;

&lt;p&gt;However &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a9d88f030f694318e01fec7eeb626503417c8481/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp#L1533&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the preceding comment&lt;/a&gt; states the expectation that only primaries are executing that code path.&lt;/p&gt;

&lt;p&gt;This results in unnecessary writes to these prefix documents. Moreover, these writes can result in out of order update chains as secondaries can process oplog entries out of order.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1868910">SERVER-59831</key>
            <summary>WTUniqueIndex::_insert expects secondaries to pass in dupsAllowed=true</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="yuhong.zhang@mongodb.com">Yuhong Zhang</assignee>
                                    <reporter username="daniel.gottlieb@mongodb.com">Daniel Gottlieb</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Sep 2021 02:42:07 +0000</created>
                <updated>Sun, 29 Oct 2023 21:48:49 +0000</updated>
                            <resolved>Fri, 19 Nov 2021 14:48:16 +0000</resolved>
                                                    <fixVersion>5.2.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="4199785" author="xgen-internal-githook" created="Fri, 19 Nov 2021 04:32:40 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yuhong Zhang&apos;, &apos;email&apos;: &apos;danielzhangyh@gmail.com&apos;, &apos;username&apos;: &apos;YuhongZhang98&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59831&quot; title=&quot;WTUniqueIndex::_insert expects secondaries to pass in dupsAllowed=true&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59831&quot;&gt;&lt;del&gt;SERVER-59831&lt;/del&gt;&lt;/a&gt; Pass `dupsAllowed=true` to `WiredTigerIndexUnique::_insert` on secondaries&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/88bd9ede7754014ab16141bee4208b7949711e9d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/88bd9ede7754014ab16141bee4208b7949711e9d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4184574" author="xgen-internal-githook" created="Thu, 11 Nov 2021 23:50:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yuhong Zhang&apos;, &apos;email&apos;: &apos;danielzhangyh@gmail.com&apos;, &apos;username&apos;: &apos;YuhongZhang98&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59831&quot; title=&quot;WTUniqueIndex::_insert expects secondaries to pass in dupsAllowed=true&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59831&quot;&gt;&lt;del&gt;SERVER-59831&lt;/del&gt;&lt;/a&gt; Pass `dupsAllowed=true` to `WiredTigerIndexUnique::_insert` on secondaries&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit a52ee5999b0fc7adcbce77b37a7313d4585a4cbf.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c5aa4a5f2035733b85ee55edcf7b74b530db29e7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c5aa4a5f2035733b85ee55edcf7b74b530db29e7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4168583" author="xgen-internal-githook" created="Thu, 4 Nov 2021 01:45:02 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yuhong Zhang&apos;, &apos;email&apos;: &apos;danielzhangyh@gmail.com&apos;, &apos;username&apos;: &apos;YuhongZhang98&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59831&quot; title=&quot;WTUniqueIndex::_insert expects secondaries to pass in dupsAllowed=true&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59831&quot;&gt;&lt;del&gt;SERVER-59831&lt;/del&gt;&lt;/a&gt; Pass `dupsAllowed=true` to `WiredTigerIndexUnique::_insert` on secondaries&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a52ee5999b0fc7adcbce77b37a7313d4585a4cbf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a52ee5999b0fc7adcbce77b37a7313d4585a4cbf&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4047458" author="daniel.gottlieb@10gen.com" created="Thu, 9 Sep 2021 14:42:37 +0000"  >&lt;p&gt;Correct, I believe we unconditionally pass in &lt;tt&gt;dupsAllowed=false&lt;/tt&gt; &lt;a href=&quot;https://github.com/mongodb/mongo/blob/d532592dc4a39ef6a6238b0af1ccf6e4d048ada8/src/mongo/db/index/index_access_method.cpp#L202&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;when inserting keys&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;My waning memory tells me this might have changed with 2 phase index builds because we wanted secondaries to capture conflicts in the event they were promoted to primary and wanted to commit the index build. But I couldn&apos;t tell if we were using some different code path to have storage return possible conflicts.&lt;/p&gt;</comment>
                            <comment id="4047310" author="louis.williams" created="Thu, 9 Sep 2021 14:04:06 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=daniel.gottlieb&quot; class=&quot;user-hover&quot; rel=&quot;daniel.gottlieb&quot;&gt;daniel.gottlieb&lt;/a&gt;, are you seeing that secondaries are not passing dupsAllowed=true? Do you know why not?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="1924378">SERVER-61459</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="1898726">SERVER-60716</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1924373">SERVER-61458</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1925630">SERVER-61499</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1819846">WT-7853</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1876924">SERVER-60037</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>5.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>Thu, 9 Sep 2021 14:04:06 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 11 weeks, 6 days 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-61459'>SERVER-61459</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_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, 11 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>152.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>daniel.gottlieb@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>louis.williams@mongodb.com</customfieldvalue>
            <customfieldvalue>yuhong.zhang@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i00ptr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr2o2f:</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="5421">Execution Team 2021-11-15</customfieldvalue>
    <customfieldvalue id="5422">Execution Team 2021-11-29</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|i00bz3:</customfieldvalue>

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