<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:07:44 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>[DOCS-13420] Investigate changes in SERVER-37726: Make dropIndexes abort in-progress index builds</title>
                <link>https://jira.mongodb.org/browse/DOCS-13420</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;Description&quot;&gt;&lt;/a&gt;Description&lt;/h2&gt;

    &lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;background-color: #239eb0;&quot;&gt;&lt;b&gt;Downstream Change Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;p&gt;    The &quot;dropIndexes&quot; command can now be used to abort in-progress index builds being built in the background. As we can only abort at the builder level granularity, the user must specify all the indexes being built by a single index builder to abort it successfully.&lt;/p&gt;

&lt;p&gt;This command still retains the previous behaviour of returning &quot;BackgroundOperationInProgressForNamespace&quot; when trying to drop a ready index while there are index builds still in-progress.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;h2&gt;&lt;a name=&quot;DescriptionofLinkedTicket&quot;&gt;&lt;/a&gt;Description of Linked Ticket&lt;/h2&gt;
&lt;p&gt;    dropIndexes should abort in-progress index builds. This should be done after &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37763&quot; title=&quot;Make it possible to abort index builds&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37763&quot;&gt;&lt;del&gt;SERVER-37763&lt;/del&gt;&lt;/a&gt; makes it possible to abort an index build.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37727&quot; title=&quot;Enhance dropIndexes to accept multiple specific indexes to drop&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37727&quot;&gt;&lt;del&gt;SERVER-37727&lt;/del&gt;&lt;/a&gt; will enhance dropIndexes to receive an array of indexes as arguments. This task will only abort in-progress index builds if the user specifies all of the indexes that a single builder is building together. A createIndexes command can start multiple indexes building together on one builder and we currently only have the granularity to abort all or none of the indexes on a builder.&lt;/p&gt;

&lt;p&gt;Lastly, dropIndexes will not write a dropIndexes oplog entry if aborting in-progress builds. Aborting the index will produce an abortIndexBuilds oplog entry, which suffices. This allows rollback via refetch to know that an index was fully built prior to a dropIndexes oplog entry.&lt;/p&gt;


&lt;h2&gt;&lt;a name=&quot;Scopeofchanges&quot;&gt;&lt;/a&gt;Scope of changes&lt;/h2&gt;

&lt;h2&gt;&lt;a name=&quot;ImpacttoOtherDocs&quot;&gt;&lt;/a&gt;Impact to Other Docs&lt;/h2&gt;

&lt;h2&gt;&lt;a name=&quot;MVP%28WorkandDate%29&quot;&gt;&lt;/a&gt;MVP (Work and Date)&lt;/h2&gt;

&lt;h2&gt;&lt;a name=&quot;Resources%28ScopeorDesignDocs%2CInvision%2Cetc.%29&quot;&gt;&lt;/a&gt;Resources (Scope or Design Docs, Invision, etc.)&lt;/h2&gt;
</description>
                <environment></environment>
        <key id="1156725">DOCS-13420</key>
            <summary>Investigate changes in SERVER-37726: Make dropIndexes abort in-progress index builds</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="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="9">Done</resolution>
                                        <assignee username="ravind.kumar">Ravind Kumar</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Feb 2020 06:07:41 +0000</created>
                <updated>Mon, 13 Nov 2023 18:10:23 +0000</updated>
                            <resolved>Fri, 6 Mar 2020 18:33:20 +0000</resolved>
                                                    <fixVersion>4.3.4</fixVersion>
                    <fixVersion>Server_Docs_20231030</fixVersion>
                    <fixVersion>Server_Docs_20231106</fixVersion>
                    <fixVersion>Server_Docs_20231105</fixVersion>
                    <fixVersion>Server_Docs_20231113</fixVersion>
                                    <component>manual</component>
                    <component>Server</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="2948943" author="xgen-internal-githook" created="Fri, 6 Mar 2020 18:32:52 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Ravind Kumar&apos;, &apos;username&apos;: &apos;rkumar-mongo&apos;, &apos;email&apos;: &apos;ravind.kumar@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-13420&quot; title=&quot;Investigate changes in SERVER-37726: Make dropIndexes abort in-progress index builds&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-13420&quot;&gt;&lt;del&gt;DOCS-13420&lt;/del&gt;&lt;/a&gt;: dropIndexes attempts to abort in-progress index builds before dropping index&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/docs/commit/ee6e259a32449b984e9c96e31b2db8d671627d8e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/docs/commit/ee6e259a32449b984e9c96e31b2db8d671627d8e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2934310" author="gregory.wlodarek" created="Wed, 4 Mar 2020 14:59:09 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ravind.kumar&quot; class=&quot;user-hover&quot; rel=&quot;ravind.kumar&quot;&gt;ravind.kumar&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Correct, when index builds are ready on secondaries, they wait for the commit or abort oplog entry from the primary before proceeding. Whichever oplog entry is first in line on the secondary is the deciding factor for the index build on the secondary.&lt;/p&gt;

&lt;p&gt;The primary does not immediately kill secondary index builds, it just creates the abortIndexBuild oplog entry which the secondaries get and eventually abort their index build from that.&lt;/p&gt;

&lt;p&gt;The important takeaway here is to remember is that the index build will not finish on the secondaries until the commit or abort oplog entry is received for that index build from the primary.&lt;/p&gt;

&lt;p&gt;If the index that was dropped on the primary was a ready index, then we simply send the dropIndexes oplog entry and maintain the old behaviour of dropping indexes.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;FYI, there is also&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-13462&quot; title=&quot;Investigate changes in SERVER-46123: Make the dropDatabase command abort in-progress index builds&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-13462&quot;&gt;&lt;del&gt;DOCS-13462&lt;/del&gt;&lt;/a&gt;&#160;for dropDatabase &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;. All of these commands behave the same way in terms of aborting in-progress index builds.&lt;/p&gt;</comment>
                            <comment id="2923857" author="ravind.kumar" created="Mon, 2 Mar 2020 21:08:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=gregory.wlodarek&quot; class=&quot;user-hover&quot; rel=&quot;gregory.wlodarek&quot;&gt;gregory.wlodarek&lt;/a&gt; quick question:&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&amp;gt; Lastly, dropIndexes will not write a dropIndexes oplog entry if aborting in-progress builds. Aborting the index will produce an abortIndexBuilds oplog entry, which suffices. This allows rollback via refetch to know that an index was fully built prior to a dropIndexes oplog entry.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;There&apos;s similar work on &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-13430&quot; title=&quot;Investigate changes in SERVER-46122: Make the drop command abort in-progress index builds&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-13430&quot;&gt;&lt;del&gt;DOCS-13430&lt;/del&gt;&lt;/a&gt; w.r.t. &lt;tt&gt;drop()&lt;/tt&gt; on an ongoing index build where we note that it will &lt;b&gt;not&lt;/b&gt; stop an in-progress index build on a secondary. the linked &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46122&quot; title=&quot;Make the drop command abort in-progress index builds&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46122&quot;&gt;&lt;del&gt;SERVER-46122&lt;/del&gt;&lt;/a&gt; states:&lt;/p&gt;

&lt;p&gt;&amp;gt; Secondaries should not abort in-progress index builds but instead wait for the abortIndexBuilds oplog entry.&lt;/p&gt;

&lt;p&gt;Is this to say that the secondaries will only kill the ongoing index build when it reaches the &lt;tt&gt;abortIndexBuilds&lt;/tt&gt; entry? i.e. &lt;tt&gt;drop() / dropIndexes()&lt;/tt&gt; itself does not immediately kill secondary index builds. However, if the index builds are still in progress &lt;b&gt;and&lt;/b&gt; the secondary hits that entry in the oplog, &lt;b&gt;then&lt;/b&gt; the index build gets killed. If the indexes are already built, i&apos;m assuming we drop the indexes (i.e. &lt;tt&gt;abortIndexBuilds&lt;/tt&gt; implies &lt;tt&gt;dropIndexes&lt;/tt&gt;)&lt;/p&gt;

&lt;p&gt;cc &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jeffrey.allen%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;jeffrey.allen@mongodb.com&quot;&gt;jeffrey.allen@mongodb.com&lt;/a&gt; as this might have some impact on your ongoing work.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                            <outwardlinks description="documents">
                                        <issuelink>
            <issuekey id="623458">SERVER-37726</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 2 Mar 2020 21:08:17 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 48 weeks, 5 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DOCS-12787</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>emet.ozar@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 48 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-pm</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>gregory.wlodarek@mongodb.com</customfieldvalue>
            <customfieldvalue>ravind.kumar</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hwrgof:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="3788">ServerDocs: March 02-06</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</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_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hwr2xr:</customfieldvalue>

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