<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:39:15 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-35239] AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime</title>
                <link>https://jira.mongodb.org/browse/SERVER-35239</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;In &lt;tt&gt;PlanExecutor::getNextImpl()&lt;/tt&gt;, we will construct a &lt;tt&gt;CappedInsertNotifier&lt;/tt&gt; &lt;a href=&quot;https://github.com/mongodb/mongo/blob/1d6020782c4e43badbc2d00b38cff7ceaa61a6eb/src/mongo/db/query/plan_executor.cpp#L528&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;if &lt;tt&gt;shouldWaitForInserts()&lt;/tt&gt; returns true&lt;/a&gt;. Then, if we reach EOF, we will call &lt;tt&gt;waitForInserts()&lt;/tt&gt; &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b639a8a2b0b037dcf5407683e1698cec3a246fad/src/mongo/db/query/plan_executor.cpp#L528&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;if &lt;tt&gt;shouldWaitForInserts()&lt;/tt&gt; returns true&lt;/a&gt;. &lt;tt&gt;waitForInserts()&lt;/tt&gt; &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b639a8a2b0b037dcf5407683e1698cec3a246fad/src/mongo/db/query/plan_executor.cpp#L459&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;invariants&lt;/a&gt; that the &lt;tt&gt;CappedInsertNotifier&lt;/tt&gt; exists. This means that we can hit the invariant if &lt;tt&gt;shouldWaitForInserts()&lt;/tt&gt; returns false and then later returns true. This can happen if the request specifies a&#160;&lt;tt&gt;lastKnownCommittedOpTime&lt;/tt&gt;&#160;that is greater than the node&apos;s last committed op time and then the node&apos;s last committed op time moves forward so that the values are equal. That would cause &lt;a href=&quot;https://github.com/mongodb/mongo/blob/1d6020782c4e43badbc2d00b38cff7ceaa61a6eb/src/mongo/db/query/plan_executor.cpp#L435&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this check&lt;/a&gt; to return false and then true. It is legal in replication for the downstream node to have a higher view of the committed op time than its sync source, so this code must be robust to that event.&lt;/p&gt;</description>
                <environment></environment>
        <key id="549906">SERVER-35239</key>
            <summary>AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime</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="13201">Fixed</resolution>
                                        <assignee username="samy.lanka@mongodb.com">Samyukta Lanka</assignee>
                                    <reporter username="tess.avitabile@mongodb.com">Tess Avitabile</reporter>
                        <labels>
                    </labels>
                <created>Fri, 25 May 2018 18:55:49 +0000</created>
                <updated>Sun, 29 Oct 2023 22:31:23 +0000</updated>
                            <resolved>Thu, 21 Jun 2018 20:56:51 +0000</resolved>
                                    <version>3.6.5</version>
                    <version>4.0.0-rc0</version>
                                    <fixVersion>3.6.9</fixVersion>
                    <fixVersion>4.0.2</fixVersion>
                    <fixVersion>4.1.1</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="2007155" author="xgen-internal-githook" created="Tue, 18 Sep 2018 21:10:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Samy Lanka&apos;, &apos;email&apos;: &apos;samy.lanka@gmail.com&apos;, &apos;username&apos;: &apos;lankas&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35239&quot; title=&quot;AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35239&quot;&gt;&lt;del&gt;SERVER-35239&lt;/del&gt;&lt;/a&gt; AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2c6e1b2fa22cbee1129409635cceedd7f99bfea1)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/53675ac0ff6b764c890d3fd8ee44fc7c827d3e8d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/53675ac0ff6b764c890d3fd8ee44fc7c827d3e8d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1974566" author="xgen-internal-githook" created="Mon, 13 Aug 2018 20:03:24 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Samy Lanka&apos;, &apos;email&apos;: &apos;samy.lanka@gmail.com&apos;, &apos;username&apos;: &apos;lankas&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35239&quot; title=&quot;AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35239&quot;&gt;&lt;del&gt;SERVER-35239&lt;/del&gt;&lt;/a&gt; AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit c0c0e651b379b03201e321ae0857beb646721956.&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e10f27c411b48e3036dc22295db4fdc718eadfb1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e10f27c411b48e3036dc22295db4fdc718eadfb1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1971673" author="xgen-internal-githook" created="Thu, 9 Aug 2018 17:03:02 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;lankas&apos;, &apos;name&apos;: &apos;Samy Lanka&apos;, &apos;email&apos;: &apos;samy.lanka@gmail.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35239&quot; title=&quot;AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35239&quot;&gt;&lt;del&gt;SERVER-35239&lt;/del&gt;&lt;/a&gt; AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2c6e1b2fa22cbee1129409635cceedd7f99bfea1)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c0c0e651b379b03201e321ae0857beb646721956&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c0c0e651b379b03201e321ae0857beb646721956&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1966899" author="xgen-internal-githook" created="Sat, 4 Aug 2018 00:57:26 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Samy Lanka&apos;, &apos;email&apos;: &apos;samy.lanka@gmail.com&apos;, &apos;username&apos;: &apos;lankas&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35239&quot; title=&quot;AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35239&quot;&gt;&lt;del&gt;SERVER-35239&lt;/del&gt;&lt;/a&gt; AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2c6e1b2fa22cbee1129409635cceedd7f99bfea1)&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/97f19510c79eb405cb00b8b811804a2f9f31e295&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/97f19510c79eb405cb00b8b811804a2f9f31e295&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1928216" author="xgen-internal-githook" created="Thu, 21 Jun 2018 20:54:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;lankas&apos;, &apos;name&apos;: &apos;Samy Lanka&apos;, &apos;email&apos;: &apos;samy.lanka@gmail.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35239&quot; title=&quot;AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35239&quot;&gt;&lt;del&gt;SERVER-35239&lt;/del&gt;&lt;/a&gt; AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2c6e1b2fa22cbee1129409635cceedd7f99bfea1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2c6e1b2fa22cbee1129409635cceedd7f99bfea1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1903617" author="spencer" created="Tue, 29 May 2018 17:40:50 +0000"  >&lt;p&gt;I strongly suspect this is a regression added in 3.6 by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-29127&quot; title=&quot;Improve behavior of tailable awaitData cursors with readConcern:majority&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-29127&quot;&gt;&lt;del&gt;SERVER-29127&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on 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_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15640"><![CDATA[v4.0]]></customfieldvalue>
    <customfieldvalue key="15141"><![CDATA[v3.6]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 29 May 2018 17:40:50 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 21 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>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 21 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>60.0</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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>samy.lanka@mongodb.com</customfieldvalue>
            <customfieldvalue>spencer@mongodb.com</customfieldvalue>
            <customfieldvalue>tess.avitabile@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htz2x3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htm4hj:</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_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="2297">Repl 2018-06-18</customfieldvalue>
    <customfieldvalue id="2298">Repl 2018-07-02</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_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|htyp6f:</customfieldvalue>

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