<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 07:56:22 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-8471] Fix explanation of when indexes get updated</title>
                <link>https://jira.mongodb.org/browse/DOCS-8471</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>&lt;p&gt;The first paragraph at &lt;a href=&quot;https://docs.mongodb.com/manual/core/write-performance/#indexes&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/core/write-performance/#indexes&lt;/a&gt; read:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;After every insert, update, or delete operation, MongoDB must update &lt;em&gt;every&lt;/em&gt; index associated with the collection in addition to the data itself. &lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Assuming the document doesn&apos;t move, only the indexes associated with fields that change (as part of the operation) get updated. Perhaps we can phrase it more along the lines of:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;After every insert, update, or delete operation, MongoDB must update every index associated with the fields changed in addition to the data itself (for insert and remove operations, sparse and partial indexes may not be updated if the document does not have an index entry).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;On MMAPv1, if the document moves, every index containing the document must be updated.&lt;/p&gt;</description>
                <environment></environment>
        <key id="305553">DOCS-8471</key>
            <summary>Fix explanation of when indexes get updated</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="steve.renaker@mongodb.com">Steve Renaker</assignee>
                                    <reporter username="adinoyi.omuya@mongodb.com">Adinoyi Omuya</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Aug 2016 16:41:32 +0000</created>
                <updated>Thu, 8 Sep 2016 22:14:44 +0000</updated>
                            <resolved>Thu, 8 Sep 2016 22:14:31 +0000</resolved>
                                                                    <component>dochub</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="1380091" author="xgen-internal-githook" created="Thu, 8 Sep 2016 22:12:56 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;steveren&apos;, u&apos;name&apos;: u&apos;Steve Renaker&apos;, u&apos;email&apos;: u&apos;steve.renaker@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-8471&quot; title=&quot;Fix explanation of when indexes get updated&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-8471&quot;&gt;&lt;del&gt;DOCS-8471&lt;/del&gt;&lt;/a&gt;: impact of indexes on write performance&lt;/p&gt;

&lt;p&gt;Signed-off-by: kay &amp;lt;kay.kim@10gen.com&amp;gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/docs/commit/b525dc40d3ba637b134b61111dbc52d9ed51d598&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/docs/commit/b525dc40d3ba637b134b61111dbc52d9ed51d598&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1380090" author="xgen-internal-githook" created="Thu, 8 Sep 2016 22:12:54 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;steveren&apos;, u&apos;name&apos;: u&apos;Steve Renaker&apos;, u&apos;email&apos;: u&apos;steve.renaker@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-8471&quot; title=&quot;Fix explanation of when indexes get updated&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-8471&quot;&gt;&lt;del&gt;DOCS-8471&lt;/del&gt;&lt;/a&gt;: impact of indexes on write performance&lt;/p&gt;

&lt;p&gt;Signed-off-by: kay &amp;lt;kay.kim@10gen.com&amp;gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/docs/commit/6f6419adfdd54df2174dc26000f6297669facfda&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/docs/commit/6f6419adfdd54df2174dc26000f6297669facfda&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1362026" author="david.storch" created="Fri, 19 Aug 2016 14:02:13 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=steve.renaker&quot; class=&quot;user-hover&quot; rel=&quot;steve.renaker&quot;&gt;steve.renaker&lt;/a&gt;, I don&apos;t think that is strictly correct. Setting aside sparse and partial indices, it is the case that any insert or delete of a document will have to either insert the corresponding key into every index or remove the corresponding key from any index. An update operation on any storage engine, however, may result in index keys being removed/added from some &lt;em&gt;subset&lt;/em&gt; of the indices on the collection. Imagine that you have a collection with indices {a: 1} and {b: 1}. If you &lt;tt&gt;$inc&lt;/tt&gt; field &lt;tt&gt;a&lt;/tt&gt;, then we have to update the corresponding key in index {a: 1}, but there is no need to modify {b: 1}. This is true on both MMAPv1 and on WiredTiger.&lt;/p&gt;

&lt;p&gt;MMAPv1 also has a special concept of a &quot;document move&quot;. This typically happens when an update grows a document beyond its allotted space in its data file; the MMAP storage engine deals with this by moving the document to another mmap&apos;ed disk location (sometimes abbreviated diskloc). On MMAP, the storage engine-assigned id is the diskloc. Since every index key pointing to the document contains the record id, all index keys pointing to the document have to be updated to contain the new id. Finally, note that an MMAP document move is an expensive but usually rare operation; the storage engine leaves padding so that documents have room to grow without being moved.&lt;/p&gt;

&lt;p&gt;Hopefully this helps to clear things up!&lt;/p&gt;</comment>
                            <comment id="1361617" author="steve.renaker" created="Thu, 18 Aug 2016 22:58:03 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=adinoyi.omuya&quot; class=&quot;user-hover&quot; rel=&quot;adinoyi.omuya&quot;&gt;adinoyi.omuya&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.storch&quot; class=&quot;user-hover&quot; rel=&quot;david.storch&quot;&gt;david.storch&lt;/a&gt; So is it correct to say (setting aside sparse/partial indexes for the moment) that on both WT and MMAPv1, insert and delete operations will require indexes to rebuild, whereas update operations will require a rebuild only on MMAPv1? Thanks!&lt;/p&gt;</comment>
                            <comment id="1350222" author="david.storch" created="Mon, 8 Aug 2016 15:40:00 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Assuming the document doesn&apos;t move, only the indexes associated with fields that change (as part of the operation) get updated.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The term &quot;move&quot; here is specific to MMAPv1. It would be more correct to say something like this: &quot;If the document&apos;s storage engine-assigned id changes, then all indexes on the collection must be updated accordingly. Most storage engine implementations, including WiredTiger, will not change a document&apos;s id when it is updated. An MMAPv1 document move, however, results in the id being changed.&quot;&lt;/p&gt;</comment>
                            <comment id="1343259" author="charlie.swanson" created="Mon, 1 Aug 2016 17:10:53 +0000"  >&lt;p&gt;I think it might also be worth mentioning partial and sparse indexes, since those would potentially be unchanged during an insert or remove, or if a document is updated such that it still does not have an entry in the index.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 1 Aug 2016 17:10:53 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        7 years, 22 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_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>jess.mokrzecki@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            7 years, 22 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>adinoyi.omuya@mongodb.com</customfieldvalue>
            <customfieldvalue>charlie.swanson@mongodb.com</customfieldvalue>
            <customfieldvalue>david.storch@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>steve.renaker@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrmlyv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrcguv:</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="1222">Docs Q3 W3-4 (8/30)</customfieldvalue>
    <customfieldvalue id="1223">Docs Q3 W5 (9/6)</customfieldvalue>
    <customfieldvalue id="1249">Docs Q3 W6 (9/13)</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|hrzapr:</customfieldvalue>

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