<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:30:50 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-13165] WriteBatchExecutor doesn&apos;t handle primary demotion when recovering from yield during inserts</title>
                <link>https://jira.mongodb.org/browse/SERVER-13165</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Any time a thread acquires the write lock to perform a user operation on a non-local database, it needs to confirm that the node is primary.  When WBE::execInserts does periodic yielding, it is not performing this check, leading to potential fatal errors.&lt;/p&gt;</description>
                <environment></environment>
        <key id="119813">SERVER-13165</key>
            <summary>WriteBatchExecutor doesn&apos;t handle primary demotion when recovering from yield during inserts</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="9">Done</resolution>
                                        <assignee username="schwerin@mongodb.com">Andy Schwerin</assignee>
                                    <reporter username="schwerin@mongodb.com">Andy Schwerin</reporter>
                        <labels>
                    </labels>
                <created>Wed, 12 Mar 2014 19:19:09 +0000</created>
                <updated>Mon, 11 Jul 2016 17:18:42 +0000</updated>
                            <resolved>Wed, 19 Mar 2014 21:06:21 +0000</resolved>
                                    <version>2.6.0-rc1</version>
                                    <fixVersion>2.6.0-rc2</fixVersion>
                                    <component>Write Ops</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="519677" author="xgen-internal-githook" created="Wed, 19 Mar 2014 22:14:05 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;andy10gen&apos;, u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13163&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle PageFaultException during inserts.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13163&quot;&gt;&lt;del&gt;SERVER-13163&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13165&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle primary demotion when recovering from yield during inserts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13165&quot;&gt;&lt;del&gt;SERVER-13165&lt;/del&gt;&lt;/a&gt; Target index creations correctly in the oplog on insert write commands.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit d9e4242d7f8c2631834a8b84cddf2f98cd1971b3)&lt;br/&gt;
Branch: v2.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/670a13d965a5bf949e33309ef47b49a23326a59c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/670a13d965a5bf949e33309ef47b49a23326a59c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="519674" author="xgen-internal-githook" created="Wed, 19 Mar 2014 22:13:06 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;andy10gen&apos;, u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13163&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle PageFaultException during inserts.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13163&quot;&gt;&lt;del&gt;SERVER-13163&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13165&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle primary demotion when recovering from yield during inserts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13165&quot;&gt;&lt;del&gt;SERVER-13165&lt;/del&gt;&lt;/a&gt; Target index creations correctly in the oplog on insert write commands.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d9e4242d7f8c2631834a8b84cddf2f98cd1971b3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d9e4242d7f8c2631834a8b84cddf2f98cd1971b3&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="519626" author="xgen-internal-githook" created="Wed, 19 Mar 2014 21:04:31 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;andy10gen&apos;, u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13163&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle PageFaultException during inserts.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13163&quot;&gt;&lt;del&gt;SERVER-13163&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13165&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle primary demotion when recovering from yield during inserts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13165&quot;&gt;&lt;del&gt;SERVER-13165&lt;/del&gt;&lt;/a&gt; Assign fassert codes.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f005fc6b5275bda6b6988413d83b61aab099ff63&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f005fc6b5275bda6b6988413d83b61aab099ff63&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="519624" author="xgen-internal-githook" created="Wed, 19 Mar 2014 21:04:19 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;andy10gen&apos;, u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13163&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle PageFaultException during inserts.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13163&quot;&gt;&lt;del&gt;SERVER-13163&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13165&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle primary demotion when recovering from yield during inserts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13165&quot;&gt;&lt;del&gt;SERVER-13165&lt;/del&gt;&lt;/a&gt; Assign fassert codes.&lt;br/&gt;
Branch: v2.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/11e8a1d1b7d58b710a8a6f59e507dafcec01f247&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/11e8a1d1b7d58b710a8a6f59e507dafcec01f247&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="519622" author="xgen-internal-githook" created="Wed, 19 Mar 2014 21:02:29 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;andy10gen&apos;, u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13163&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle PageFaultException during inserts.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13163&quot;&gt;&lt;del&gt;SERVER-13163&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13165&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle primary demotion when recovering from yield during inserts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13165&quot;&gt;&lt;del&gt;SERVER-13165&lt;/del&gt;&lt;/a&gt; Refactor implementation of insert write command in mongod.&lt;/p&gt;

&lt;p&gt;The goal of the refactoring is to clarify the control flow of the batch&lt;br/&gt;
execution of inserts, and in so doing to cleanly handle PageFaultExceptions,&lt;br/&gt;
properly handle demotion to secondary, correctly profile individual document&lt;br/&gt;
insertions within the batch, and correctly attribute lock hold and acquisition&lt;br/&gt;
time to those individual insertions.&lt;/p&gt;

&lt;p&gt;It is also intended that this refactoring will resolve memory leaks in the&lt;br/&gt;
insert code path, by more carefully tracking ownership of WriteErrorDetail&lt;br/&gt;
objects throughout the WriteBatchExecutor class.&lt;br/&gt;
Branch: v2.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2758187dd41024a8f93fddc7edfc223eccf4a1ce&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2758187dd41024a8f93fddc7edfc223eccf4a1ce&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="519620" author="xgen-internal-githook" created="Wed, 19 Mar 2014 21:01:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;andy10gen&apos;, u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13163&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle PageFaultException during inserts.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13163&quot;&gt;&lt;del&gt;SERVER-13163&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13165&quot; title=&quot;WriteBatchExecutor doesn&amp;#39;t handle primary demotion when recovering from yield during inserts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13165&quot;&gt;&lt;del&gt;SERVER-13165&lt;/del&gt;&lt;/a&gt; Refactor implementation of insert write command in mongod.&lt;/p&gt;

&lt;p&gt;The goal of the refactoring is to clarify the control flow of the batch&lt;br/&gt;
execution of inserts, and in so doing to cleanly handle PageFaultExceptions,&lt;br/&gt;
properly handle demotion to secondary, correctly profile individual document&lt;br/&gt;
insertions within the batch, and correctly attribute lock hold and acquisition&lt;br/&gt;
time to those individual insertions.&lt;/p&gt;

&lt;p&gt;It is also intended that this refactoring will resolve memory leaks in the&lt;br/&gt;
insert code path, by more carefully tracking ownership of WriteErrorDetail&lt;br/&gt;
objects throughout the WriteBatchExecutor class.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/7300f943ab5423dfcf8ad66d916648a86f861b47&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/7300f943ab5423dfcf8ad66d916648a86f861b47&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <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>Wed, 19 Mar 2014 21:01:49 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        9 years, 48 weeks 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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            9 years, 48 weeks 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_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>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrlz4f:</customfieldvalue>

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

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

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