<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:22:01 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>[DRIVERS-644] Hybrid index build </title>
                <link>https://jira.mongodb.org/browse/DRIVERS-644</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-color: #ccc;border-style: dashed;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: dashed;border-bottom-color: #ccc;background-color: #239eb0;&quot;&gt;&lt;b&gt;Epic Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary&lt;/h4&gt;
&lt;p&gt;Combine the best qualities of foreground and background index builds to make a new type of index build, replacing the current index build types.&lt;/p&gt;


&lt;h4&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;Motivation&lt;/h4&gt;
&lt;p&gt;Foreground index builds hold an exclusive database lock for the duration of the build, without yielding.  This is one of the few operations on the server to hold a lock for a long period of time, and this causes various problems with the system.  However, foreground index builds produce more efficient index structures; we want to preserve this outcome in the new Hybrid Index Build.&lt;/p&gt;


&lt;h4&gt;&lt;a name=&quot;Documentation&quot;&gt;&lt;/a&gt;Documentation&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;https://goo.gl/fYLUBS&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Scope Document&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://goo.gl/sbGcAx&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Design Document&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="747071">DRIVERS-644</key>
            <summary>Hybrid index build </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="13203">Gone away</resolution>
                                        <assignee username="david.golden@mongodb.com">David Golden</assignee>
                                    <reporter username="ian@mongodb.com">Ian Whalen</reporter>
                        <labels>
                    </labels>
                <created>Sun, 28 Apr 2019 17:44:30 +0000</created>
                <updated>Fri, 27 Oct 2023 19:45:00 +0000</updated>
                            <resolved>Mon, 13 May 2019 21:22:49 +0000</resolved>
                                                                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="2245176" author="david.golden" created="Mon, 13 May 2019 21:22:49 +0000"  >&lt;p&gt;All necessary server tickets were implemented.&lt;/p&gt;</comment>
                            <comment id="2237553" author="shane.harvey" created="Tue, 7 May 2019 19:03:38 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.golden&quot; class=&quot;user-hover&quot; rel=&quot;david.golden&quot;&gt;david.golden&lt;/a&gt; is correct that drivers won&apos;t have to do anything if &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40927&quot; title=&quot;createIndexes should wait for indexes found to already be being built to finish&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40927&quot;&gt;&lt;del&gt;SERVER-40927&lt;/del&gt;&lt;/a&gt; is implemented.&lt;/p&gt;

&lt;p&gt;Currently, there is a subtle behavior change when an application attempts to build the same index in parallel. I outlined two potential breaking changes &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-39323?focusedCommentId=2220986&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-2220986&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;in this comment&lt;/a&gt;; one in mongomirror and one in GridFS. If &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40927&quot; title=&quot;createIndexes should wait for indexes found to already be being built to finish&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40927&quot;&gt;&lt;del&gt;SERVER-40927&lt;/del&gt;&lt;/a&gt; is &lt;em&gt;not&lt;/em&gt; implemented then we may need to workaround this issue in GridFS (by retrying createIndexes after IndexBuildAlreadyInProgress errors).  Whether that issue is practical enough to warrant a change in all drivers needs some more thought.&lt;/p&gt;</comment>
                            <comment id="2236819" author="behackett" created="Tue, 7 May 2019 12:48:28 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=shane.harvey&quot; class=&quot;user-hover&quot; rel=&quot;shane.harvey&quot;&gt;shane.harvey&lt;/a&gt;, for drivers the only changes here are test related, right? I haven&apos;t seen any reports of test failures outside of PyMongo.&lt;/p&gt;

&lt;p&gt;IIRC MongoMirror needs some work to deal with this change. &lt;/p&gt;</comment>
                            <comment id="2235667" author="david.golden" created="Mon, 6 May 2019 17:25:37 +0000"  >&lt;p&gt;I spoke too soon.&#160; I realized that&#160;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=shane.harvey&quot; class=&quot;user-hover&quot; rel=&quot;shane.harvey&quot;&gt;shane.harvey&lt;/a&gt; found and reported &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-39323&quot; title=&quot;Don&amp;#39;t consider in-progress indexes when deciding whether or not to build an index under an intent lock&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-39323&quot;&gt;&lt;del&gt;SERVER-39323&lt;/del&gt;&lt;/a&gt; about breakage caused by the server changing behavior of &lt;tt&gt;createIndexes&lt;/tt&gt;.&#160; Depending on whether &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40926&quot; title=&quot;createIndexes should return IndexBuildAlreadyInProgress errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40926&quot;&gt;&lt;del&gt;SERVER-40926&lt;/del&gt;&lt;/a&gt; or &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40927&quot; title=&quot;createIndexes should wait for indexes found to already be being built to finish&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40927&quot;&gt;&lt;del&gt;SERVER-40927&lt;/del&gt;&lt;/a&gt; are completed, drivers may have to do additional error checking on &lt;tt&gt;createIndexes&lt;/tt&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="751546">SERVER-40926</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="681369">SERVER-39323</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hulcuf:</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_11150" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>SERVER fixVersion</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15143"><![CDATA[4.2]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_22279" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Server Compat</customfieldname>
                        <customfieldvalues>
                                        <label>4.1</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>