<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:55:09 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-787] allow reIndex() to have option for background = True</title>
                <link>https://jira.mongodb.org/browse/SERVER-787</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;In OLTP environments using traditional RDBMS&apos;s it&apos;s very common to periodically rebuild indexes for both performance and space savings.  I am just guessing that mongoDB would need the same option.  reIndex() works perfect, however, it&apos;s not enabled for background yet.  I would contend it&apos;s most important for reIndex() because of the typical rollout of projects (create new indexes, run for a while, oh, we need to reindex but we are live..).&lt;/p&gt;</description>
                <environment></environment>
        <key id="11563">SERVER-787</key>
            <summary>allow reIndex() to have option for background = True</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="backlog-server-query">Backlog - Query Team</assignee>
                                    <reporter username="kgorman">Kenny Gorman</reporter>
                        <labels>
                    </labels>
                <created>Thu, 18 Mar 2010 18:47:36 +0000</created>
                <updated>Tue, 6 Dec 2022 05:50:12 +0000</updated>
                            <resolved>Tue, 22 May 2018 21:22:25 +0000</resolved>
                                                                    <component>Index Maintenance</component>
                                        <votes>23</votes>
                                    <watches>23</watches>
                                                                                                                <comments>
                            <comment id="1898939" author="milkie" created="Tue, 22 May 2018 21:22:25 +0000"  >&lt;p&gt;With the introduction of the WiredTiger storage engine, the reindex command has become less valuable.  We are not planning on adding new features to it at this time.&lt;/p&gt;</comment>
                            <comment id="58905" author="kgorman" created="Thu, 6 Oct 2011 19:56:44 +0000"  >&lt;p&gt;Another similar approach is to create a new slave entirely (which will then be compact, data too not just indexes), and then promote.  This is what our strategy is to-date.&lt;/p&gt;

&lt;p&gt;-kg&lt;/p&gt;</comment>
                            <comment id="38811" author="eliot" created="Wed, 22 Jun 2011 19:56:31 +0000"  >&lt;p&gt;@luke - In 2.0 there is a new compact command which should be many times faster   &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-2120&quot; title=&quot;Inplace compaction&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-2120&quot;&gt;&lt;del&gt;SERVER-2120&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="38682" author="lehresman" created="Wed, 22 Jun 2011 10:34:32 +0000"  >&lt;p&gt;Any more thoughts on this?  Online reindexing would be incredibly helpful to us.  We are heavy on deletes, deleting as much data as we insert.  We have a rolling timeframe that we keep based on timestamp, so we prune old data as new data is inserted.  Our indexes are getting enormous.  Our solution for now is to periodically repair the entire database on slaves then switch them to primaries and repair the old primaries.  This is getting slower and slower as our database grows with new customers.  Currently it takes almost 24 hours to repair, which is nearing our oplog size.&lt;/p&gt;</comment>
                            <comment id="18959" author="kgorman" created="Wed, 6 Oct 2010 17:12:54 +0000"  >&lt;p&gt;I agree with Matt&apos;s points.&lt;/p&gt;

&lt;p&gt;Perhaps just implement online collection reorg.  This gives you a chance to not only compact the collection, but also it&apos;s indexes.  There is no DML in MongoDB so online reorg is not needed for that.  &lt;/p&gt;

&lt;p&gt;It could also (depending on implementation) useful in situations where you want to fill a collection and &apos;swap it out&apos; with another for various reasons.   For example if you want to &apos;push&apos; new background data to a db, and have it all show up at once.  Sometimes it&apos;s nice to use this method and not have to perform lots of updates with flags and the like.&lt;/p&gt;</comment>
                            <comment id="18956" author="bsg75" created="Wed, 6 Oct 2010 16:25:32 +0000"  >&lt;p&gt;&amp;gt; Instead of reIndex, I wonder if we could do an online index optimize.&lt;/p&gt;

&lt;p&gt;This makes sense, coming from the SQL Server (SE) approach where reindexing is an offline operation, but a reorg is an online, nonblocking op. A reindex can result in more compact structures, but a reorg is less resource intensive. It gives the user the option of choosing between impact and performance.&lt;/p&gt;</comment>
                            <comment id="13937" author="eliot" created="Thu, 29 Apr 2010 15:24:36 +0000"  >&lt;p&gt;I think &lt;a href=&quot;http://jira.mongodb.org/browse/SERVER-366&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;http://jira.mongodb.org/browse/SERVER-366&lt;/a&gt; is the big problem actually.&lt;/p&gt;

&lt;p&gt;Instead of reIndex, I wonder if we could do an online index optimize.&lt;br/&gt;
Might be a lot faster and simpler.&lt;/p&gt;</comment>
                            <comment id="13936" author="kgorman" created="Thu, 29 Apr 2010 14:35:28 +0000"  >&lt;p&gt;This file shows the index &apos;bloat&apos; when data is deleted, and thus an online rebuild is required.&lt;/p&gt;</comment>
                            <comment id="13778" author="eliot" created="Thu, 22 Apr 2010 21:12:51 +0000"  >&lt;p&gt;That&apos;s doable - but shouldn&apos;t be &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;&lt;/p&gt;

&lt;p&gt;A dirty hack would be creating a new index on OLD_KEYS , BOGUS_KEY_NAME&lt;br/&gt;
it&apos;ll just be nulls, so won&apos;t be too much bigger, but can be used for all the same things.&lt;/p&gt;</comment>
                            <comment id="13777" author="kgorman" created="Thu, 22 Apr 2010 21:09:52 +0000"  >&lt;p&gt;Yes, two at the same time and a quick lock to swap the new index in.&lt;/p&gt;

&lt;p&gt;Theoretically I think you are correct, but in practice my experience is background reindex() is a tool I want in my toolbox.  A good example is a high delete environment.&lt;/p&gt;

&lt;p&gt;Would it work to create a background 2nd index on the same column and then drop the old one?&lt;/p&gt;</comment>
                            <comment id="13107" author="eliot" created="Thu, 18 Mar 2010 20:41:19 +0000"  >&lt;p&gt;we try very hard to make sure you don&apos;t have to re-index, so i&apos;d rather wait and see what comes up.&lt;br/&gt;
its a bit trick as well b/c you don&apos;t want that index to go offline, so you&apos;d have to have 2 at the same time&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="12311">SERVER-1341</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="23882">SERVER-4110</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="10209" name="drraw.cgi.png" size="40324" author="kgorman" created="Thu, 29 Apr 2010 14:35:28 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>11.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25143"><![CDATA[Query]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 18 Mar 2010 20:41:19 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 38 weeks, 1 day 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>false</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>
                            5 years, 38 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-query</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>kgorman</customfieldvalue>
            <customfieldvalue>lehresman</customfieldvalue>
            <customfieldvalue>bsg75</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrpq7b:</customfieldvalue>

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

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

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