<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:19:21 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-49249] initial sync fails invariant during oplog application due to conflict with in-progress index build</title>
                <link>https://jira.mongodb.org/browse/SERVER-49249</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Initial sync may fail this &lt;a href=&quot;https://github.com/mongodb/mongo/blob/f88b07048ed2641a673ac703bd2db9a9aeff7f90/src/mongo/db/catalog/multi_index_block.cpp#L231&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;invariant in MultiIndexBlock::init()&lt;/a&gt;&#160;due to a conflict between single and two phase index builds using the same index name during the oplog application phase. This issue is believed to have been introduced by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47182&quot; title=&quot;Single-phase index builds should run synchronously on secondaries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47182&quot;&gt;&lt;del&gt;SERVER-47182&lt;/del&gt;&lt;/a&gt; which affects 4.5 only.&lt;/p&gt;

&lt;p&gt;In &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47182&quot; title=&quot;Single-phase index builds should run synchronously on secondaries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47182&quot;&gt;&lt;del&gt;SERVER-47182&lt;/del&gt;&lt;/a&gt; (post-4.4), we started using an alternate code path to apply &lt;tt&gt;createIndexes&lt;/tt&gt; on on secondaries (which also covers nodes running initial sync).&lt;/p&gt;

&lt;p&gt;This race may happen when we have built an index with the same name using both single-phase and two-phase methods on the &#160;collection that is being initial sync&apos;ed. The following order of operations on the collection may lead to the invariant failure:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;secondary: initial sync starts&lt;/li&gt;
	&lt;li&gt;primary: create (empty) collection&lt;/li&gt;
	&lt;li&gt;primary: create index X (single-phased)&lt;/li&gt;
	&lt;li&gt;primary: insert documents&lt;/li&gt;
	&lt;li&gt;primary: drop index X&lt;/li&gt;
	&lt;li&gt;primary: start building index X (two-phased)&lt;/li&gt;
	&lt;li&gt;secondary: clones collection with index X still building&lt;/li&gt;
	&lt;li&gt;primary: complete building index X (two-phased)&lt;/li&gt;
	&lt;li&gt;secondary: completes collection cloning and starts applying oplog entries to catch up&lt;/li&gt;
	&lt;li&gt;secondary: applies first index X oplog entry (&lt;tt&gt;createIndex&lt;/tt&gt;) and hits invariant because the two-phase index build for X is still not committed.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This is not an issue in 4.4 because we would have &lt;a href=&quot;https://github.com/mongodb/mongo/blob/f88b07048ed2641a673ac703bd2db9a9aeff7f90/src/mongo/db/index_builds_coordinator.cpp#L1691&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;filtered out existing indexes&lt;/a&gt;&#160;(including in-progress index builds) and ignored the &lt;tt&gt;createIndexes&lt;/tt&gt; entry.&lt;/p&gt;

&lt;p&gt;The new code path introduced in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47182&quot; title=&quot;Single-phase index builds should run synchronously on secondaries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47182&quot;&gt;&lt;del&gt;SERVER-47182&lt;/del&gt;&lt;/a&gt; does not filter out in-progress index builds, leading to the invariant observed in this ticket.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1399203">SERVER-49249</key>
            <summary>initial sync fails invariant during oplog application due to conflict with in-progress index build</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>Wed, 1 Jul 2020 19:17:33 +0000</created>
                <updated>Sun, 29 Oct 2023 22:06:12 +0000</updated>
                            <resolved>Thu, 19 Nov 2020 22:22:25 +0000</resolved>
                                                    <fixVersion>4.9.0</fixVersion>
                                    <component>Storage</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="3498679" author="xgen-internal-githook" created="Thu, 19 Nov 2020 22:20:20 +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-49249&quot; title=&quot;initial sync fails invariant during oplog application due to conflict with in-progress index build&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-49249&quot;&gt;&lt;del&gt;SERVER-49249&lt;/del&gt;&lt;/a&gt; initial sync skips single-phase index build if there is an index build already in progress&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/77554e9e4fd18811d6df84d8934c888814d034ec&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/77554e9e4fd18811d6df84d8934c888814d034ec&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3497894" author="xgen-internal-githook" created="Thu, 19 Nov 2020 16:20:29 +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-49249&quot; title=&quot;initial sync fails invariant during oplog application due to conflict with in-progress index build&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-49249&quot;&gt;&lt;del&gt;SERVER-49249&lt;/del&gt;&lt;/a&gt; add js test single phase index build conflict during initial sync&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/fd5f9c3fb195b78f59b7abcfc7a81318f9a5ee78&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/fd5f9c3fb195b78f59b7abcfc7a81318f9a5ee78&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>2.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_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, 19 Nov 2020 16:20:29 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 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[]]></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>
                            3 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>10.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>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxt3n3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr4kin:</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="4298">Execution Team 2020-11-30</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|hxspwf:</customfieldvalue>

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