<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:35:51 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-14746] IndexRebuilder should only restart index builds initiated internally</title>
                <link>https://jira.mongodb.org/browse/SERVER-14746</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;It should not restart user-initiated index builds.&lt;/p&gt;

&lt;p&gt;Scenario:&lt;br/&gt;
1) User starts building a unique index on {a:1} on the current primary, node A.&lt;br/&gt;
2) Node A dies suddenly (kill -9 or power failure, etc) and node B becomes the new primary.&lt;br/&gt;
3) Node A restarts and the IndexRebuilder restarts building of the index.&lt;/p&gt;

&lt;p&gt;At this point, node A now has an index that does not exist on the primary and never will. This would be less of a problem for a non-unique index, but because this is unique, an insert can now succeed on the primary but fail on node A, breaking replication.&lt;/p&gt;

&lt;p&gt;I think the right solution is to only rebuild indexes where we would &lt;b&gt;not&lt;/b&gt; call logOp on completion.&lt;/p&gt;</description>
                <environment></environment>
        <key id="150285">SERVER-14746</key>
            <summary>IndexRebuilder should only restart index builds initiated internally</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="3">Duplicate</resolution>
                                        <assignee username="backlog-server-execution">Backlog - Storage Execution Team</assignee>
                                    <reporter username="mathias@mongodb.com">Mathias Stearn</reporter>
                        <labels>
                    </labels>
                <created>Thu, 31 Jul 2014 16:10:51 +0000</created>
                <updated>Tue, 6 Dec 2022 05:03:21 +0000</updated>
                            <resolved>Tue, 3 Mar 2020 02:03:34 +0000</resolved>
                                    <version>2.5.0</version>
                                                    <component>Index Maintenance</component>
                    <component>Replication</component>
                                        <votes>1</votes>
                                    <watches>11</watches>
                                                                                                                <comments>
                            <comment id="2924325" author="benety.goh" created="Tue, 3 Mar 2020 02:03:34 +0000"  >&lt;p&gt;With two phased index builds enabled by default in SERVER_43692, the scenario in the description should no longer be possible because node B begins building the unique index as soon as it receives the &lt;tt&gt;startIndexBuild&lt;/tt&gt; oplog entry from node A. When node A restarts, it will wait for the &lt;tt&gt;commitIndexBuild&lt;/tt&gt; oplog entry from node B before finalizing its index build.&lt;/p&gt;</comment>
                            <comment id="2924321" author="benety.goh" created="Tue, 3 Mar 2020 01:57:14 +0000"  >&lt;p&gt;The startup recovery logic was moved to the IndexBuildsCoordinator in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-39086&quot; title=&quot;Move startup recovery index creation logic into IndexBuildsCoordinator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-39086&quot;&gt;&lt;del&gt;SERVER-39086&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The IndexRebuilder was removed in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-39290&quot; title=&quot;Remove startup index recovery redundancies&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-39290&quot;&gt;&lt;del&gt;SERVER-39290&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="1891779" author="daniel.gottlieb@10gen.com" created="Tue, 15 May 2018 15:46:03 +0000"  >&lt;p&gt;We expect this has been (mostly?) fixed in 3.7 on WT (specifically, all &quot;KV&quot; storage engines) as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33359&quot; title=&quot;Have RTT storage engines manage rolling back incomplete index builds.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33359&quot;&gt;&lt;del&gt;SERVER-33359&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="697230" author="redbeard0531" created="Wed, 20 Aug 2014 18:44:06 +0000"  >&lt;p&gt;This was accidentally closed instead of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-14765&quot; title=&quot;IndexRebuilder should not be a background job and failure should be fatal&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-14765&quot;&gt;&lt;del&gt;SERVER-14765&lt;/del&gt;&lt;/a&gt;. The work on this hasn&apos;t been done yet&lt;/p&gt;</comment>
                            <comment id="689933" author="redbeard0531" created="Wed, 13 Aug 2014 21:47:54 +0000"  >&lt;p&gt;Would need custom backport.&lt;/p&gt;</comment>
                            <comment id="689917" author="xgen-internal-githook" created="Wed, 13 Aug 2014 21:34:31 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;RedBeard0531&apos;, u&apos;name&apos;: u&apos;Mathias Stearn&apos;, u&apos;email&apos;: u&apos;mathias@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13951&quot; title=&quot;uncommited UnitOfWork needs to rollback&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13951&quot;&gt;&lt;del&gt;SERVER-13951&lt;/del&gt;&lt;/a&gt; Split index building in to UnitOfWork-sized stages&lt;/p&gt;

&lt;p&gt;All index builds now go through the MultiIndexBuilder as its API was already&lt;br/&gt;
close to ideal. The following tickets have also been addressed by this commit:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-14710&quot; title=&quot;Remove dropDups support from index building&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-14710&quot;&gt;&lt;del&gt;SERVER-14710&lt;/del&gt;&lt;/a&gt; Remove dropDups&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-12309&quot; title=&quot;Initial sync should build indexes while copying data&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-12309&quot;&gt;&lt;del&gt;SERVER-12309&lt;/del&gt;&lt;/a&gt; Cloner build indexes in parallel&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-14737&quot; title=&quot;Initial sync uses background index building&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-14737&quot;&gt;&lt;del&gt;SERVER-14737&lt;/del&gt;&lt;/a&gt; Initial sync uses bg index building&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9135&quot; title=&quot;fast index build for initial sync&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9135&quot;&gt;&lt;del&gt;SERVER-9135&lt;/del&gt;&lt;/a&gt; fast index build for initial sync&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-2747&quot; title=&quot;can&amp;#39;t kill index build during phase (2/3) btree bottom up&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-2747&quot;&gt;&lt;del&gt;SERVER-2747&lt;/del&gt;&lt;/a&gt; can&apos;t kill index in phase 2&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8917&quot; title=&quot;buildBottomUpPhases2And3 should check assertion code when detecting a dup&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8917&quot;&gt;&lt;del&gt;SERVER-8917&lt;/del&gt;&lt;/a&gt; check error code rather than assuming all errors are dups&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-14820&quot; title=&quot;Compact claims not to enforce unique indexes but actually does&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-14820&quot;&gt;&lt;del&gt;SERVER-14820&lt;/del&gt;&lt;/a&gt; compact enforces unique while claiming not to&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-14746&quot; title=&quot;IndexRebuilder should only restart index builds initiated internally&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-14746&quot;&gt;&lt;del&gt;SERVER-14746&lt;/del&gt;&lt;/a&gt; IndexRebuilder should be foreground and fail fatally&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/00913e47de5aced5267e44e82ac9e976bbaac089&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/00913e47de5aced5267e44e82ac9e976bbaac089&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="943441">SERVER-43692</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="940084">SERVER-43642</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="15135">SERVER-2771</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="65021">SERVER-8536</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="674856">SERVER-39086</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="680353">SERVER-39290</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10220">
                    <name>Tested</name>
                                            <outwardlinks description="tested by">
                                                        </outwardlinks>
                                                        </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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25136"><![CDATA[Storage Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000aPabIIAS]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 1 Aug 2014 15:30:42 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 49 weeks, 2 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_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>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 49 weeks, 2 days ago
                        </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>backlog-server-execution</customfieldvalue>
            <customfieldvalue>benety.goh@mongodb.com</customfieldvalue>
            <customfieldvalue>daniel.gottlieb@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrlqp3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr6493:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>130364</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|hsbg6f:</customfieldvalue>

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