<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:27:12 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-31484] Operation deadline and awaitData timeout should be separate</title>
                <link>https://jira.mongodb.org/browse/SERVER-31484</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Currently we use the same timeout for two conceptually different things&lt;/p&gt;

&lt;p&gt;1) How long should an operation take, overall?&lt;/p&gt;

&lt;p&gt;2) With an awaitData cursor, how long should we wait if there is no data.&lt;/p&gt;

&lt;p&gt;It would be useful if these were separate things; we may wish to allow for slow systems which might take several seconds to return data from a potentially large and complex query, but still return quickly (perhaps immediately) if no data is available.&lt;/p&gt;

&lt;p&gt;This would consist of at least&lt;/p&gt;

&lt;p&gt;1) Adding a new field to the getMore command for the no-data wait (maxTimeMS is currently consistently used for operation deadlines)&lt;/p&gt;

&lt;p&gt;2) Keeping track of this new data on the OperationContext&lt;/p&gt;

&lt;p&gt;3) Making expiration of the no-data wait time an interrupt, but not a fatal one.&lt;/p&gt;

&lt;p&gt;4) Handling old queries with only maxTimeMS the same way they are now.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="443204">SERVER-31484</key>
            <summary>Operation deadline and awaitData timeout should be separate</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="martin.neupauer@mongodb.com">Martin Neupauer</assignee>
                                    <reporter username="matthew.russotto@mongodb.com">Matthew Russotto</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Oct 2017 14:23:44 +0000</created>
                <updated>Mon, 30 Oct 2023 23:12:56 +0000</updated>
                            <resolved>Wed, 31 Jan 2018 20:09:16 +0000</resolved>
                                                    <fixVersion>3.6.3</fixVersion>
                    <fixVersion>3.7.2</fixVersion>
                                    <component>Querying</component>
                                        <votes>0</votes>
                                    <watches>12</watches>
                                                                                                                <comments>
                            <comment id="1795334" author="xgen-internal-githook" created="Mon, 5 Feb 2018 16:47:45 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;martin.neupauer@mongodb.com&apos;, &apos;name&apos;: &apos;Martin Neupauer&apos;, &apos;username&apos;: &apos;MartinNeupauer&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31484&quot; title=&quot;Operation deadline and awaitData timeout should be separate&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31484&quot;&gt;&lt;del&gt;SERVER-31484&lt;/del&gt;&lt;/a&gt; separate the operation deadline from awaitData deadline in sharded queries.&lt;/p&gt;

&lt;p&gt;The deadline has been been already separated for non-sharded queries.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 15a7ac9ca54f2d580e2b1d1ab01fe095be1233db)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/6ea8d653429b0a75d87847c2fb4c0802fce727d9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/6ea8d653429b0a75d87847c2fb4c0802fce727d9&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1791061" author="xgen-internal-githook" created="Wed, 31 Jan 2018 20:06:51 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;martin.neupauer@mongodb.com&apos;, &apos;name&apos;: &apos;Martin Neupauer&apos;, &apos;username&apos;: &apos;MartinNeupauer&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31484&quot; title=&quot;Operation deadline and awaitData timeout should be separate&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31484&quot;&gt;&lt;del&gt;SERVER-31484&lt;/del&gt;&lt;/a&gt; separate the operation deadline from awaitData deadline in sharded queries.&lt;br/&gt;
The deadline has been been already separated for non-sharded queries.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/15a7ac9ca54f2d580e2b1d1ab01fe095be1233db&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/15a7ac9ca54f2d580e2b1d1ab01fe095be1233db&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1767976" author="charlie.swanson" created="Mon, 8 Jan 2018 19:04:12 +0000"  >&lt;p&gt;One known call site that will need to change is &lt;a href=&quot;https://github.com/mongodb/mongo/blob/r3.6.0-rc4/src/mongo/s/query/router_stage_merge.cpp#L81&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;. That call site will use the deadline on the operation as the timeout for waiting. Once we remove the timeout from the OperationContext, it should instead use the await data timeout.&lt;/p&gt;</comment>
                            <comment id="1767974" author="charlie.swanson" created="Mon, 8 Jan 2018 19:02:38 +0000"  >&lt;p&gt;Copying a comment from &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; on the code review for &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31684&quot; title=&quot;QueryPlanKilled (operation exceeded time limit) in $changeStream with updateLookup&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31684&quot;&gt;&lt;del&gt;SERVER-31684&lt;/del&gt;&lt;/a&gt; that has some goals for this ticket:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;As a followup (not part of this patch), I think we should extend this work to the mongos query path. That would allow us to delete the DeadlineStash and the special timeout-swallowing behavior in ExpressionContext::checkForInterrupt().&lt;/p&gt;&lt;/blockquote&gt;</comment>
                            <comment id="1728994" author="charlie.swanson" created="Fri, 17 Nov 2017 17:01:21 +0000"  >&lt;p&gt;I actually think this ticket should remain open and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31684&quot; title=&quot;QueryPlanKilled (operation exceeded time limit) in $changeStream with updateLookup&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31684&quot;&gt;&lt;del&gt;SERVER-31684&lt;/del&gt;&lt;/a&gt; should be closed as a duplicate of this, since this ticket is more representative of the engineering work required. I&apos;m re-assigning this ticket to &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=martin.neupauer&quot; class=&quot;user-hover&quot; rel=&quot;martin.neupauer&quot;&gt;martin.neupauer&lt;/a&gt;, sorry for not noticing this was already slotted for this sprint &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=james.wahlin&quot; class=&quot;user-hover&quot; rel=&quot;james.wahlin&quot;&gt;james.wahlin&lt;/a&gt;!&lt;/p&gt;</comment>
                            <comment id="1728948" author="james.wahlin@10gen.com" created="Fri, 17 Nov 2017 16:26:19 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=martin.neupauer&quot; class=&quot;user-hover&quot; rel=&quot;martin.neupauer&quot;&gt;martin.neupauer&lt;/a&gt; - Charlie thought that you are covering the work described by this ticket under another one. Can you confirm? I will close as a dupe if that is the case.&lt;/p&gt;</comment>
                            <comment id="1694925" author="david.storch" created="Tue, 10 Oct 2017 18:25:26 +0000"  >&lt;p&gt;While I think this would be a great improvement to the implementation of &lt;tt&gt;awaitData&lt;/tt&gt; cursors, I do not think we should change the interface exposed to clients. This has compatibility implications and would require work from the drivers team. Instead, we can internally separate our handling of &lt;tt&gt;maxTimeMS&lt;/tt&gt; when it represents a deadline from our handling of &lt;tt&gt;maxTimeMS&lt;/tt&gt; when it represents the wait time for an &lt;tt&gt;awaitData&lt;/tt&gt; cursor.&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>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <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, 10 Oct 2017 18:25:26 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        6 years, 1 week, 2 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_14262" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 17 Oct 2017 00:00:00 +0000</customfieldvalue>

                        </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>
                            6 years, 1 week, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>charlie.swanson@mongodb.com</customfieldvalue>
            <customfieldvalue>david.storch@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>james.wahlin@mongodb.com</customfieldvalue>
            <customfieldvalue>martin.neupauer@mongodb.com</customfieldvalue>
            <customfieldvalue>matthew.russotto@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hthgav:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr9c3z:</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="1952">Query 2017-11-13</customfieldvalue>
    <customfieldvalue id="1979">Query 2017-12-04</customfieldvalue>
    <customfieldvalue id="2034">Query 2017-12-18</customfieldvalue>
    <customfieldvalue id="2076">Query 2018-01-01</customfieldvalue>
    <customfieldvalue id="2077">Query 2018-01-15</customfieldvalue>
    <customfieldvalue id="2096">Query 2018-01-29</customfieldvalue>
    <customfieldvalue id="2117">Query 2018-02-12</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_14261" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 10 Oct 2017 00:00:00 +0000</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|hth2en:</customfieldvalue>

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