<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:52:46 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-19982] Log diagnostic message when creating &quot;no timeout&quot; cursors</title>
                <link>https://jira.mongodb.org/browse/SERVER-19982</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;As a follow-on from &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19981&quot; title=&quot;Log query options&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19981&quot;&gt;&lt;del&gt;SERVER-19981&lt;/del&gt;&lt;/a&gt;, it would be very useful when trying to track down an unknown source of noTimeout cursors if queries that produced them were logged at the default level.&lt;/p&gt;

&lt;p&gt;That is, in addition to the &lt;tt&gt;millis &amp;gt; slowms&lt;/tt&gt; logic at logLevel 0, queries that have &lt;tt&gt;QueryOption_NoCursorTimeout&lt;/tt&gt; set and produce a cursor (ie. not exhausted by the first batch and ntoreturn &amp;gt;= 0), should also be logged by default.&lt;/p&gt;</description>
                <environment></environment>
        <key id="225887">SERVER-19982</key>
            <summary>Log diagnostic message when creating &quot;no timeout&quot; cursors</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-query-execution">Backlog - Query Execution</assignee>
                                    <reporter username="kevin.pulo@mongodb.com">Kevin Pulo</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Aug 2015 08:09:03 +0000</created>
                <updated>Tue, 6 Dec 2022 04:45:59 +0000</updated>
                                                                            <component>Querying</component>
                                        <votes>2</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="1147737" author="rassi@10gen.com" created="Tue, 19 Jan 2016 19:46:41 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Won&apos;t setting logLevel 1 for the query component also cause all queries to be logged (not just those over slowms)? Busy systems can&apos;t do this for extended periods. If there is a way to log query-related events without also logging every query, then this would be acceptable.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Related: note that &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21776&quot; title=&quot;Move per-operation log lines for queries out of the QUERY log component&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21776&quot;&gt;&lt;del&gt;SERVER-21776&lt;/del&gt;&lt;/a&gt; changes the component of the per-operation diagnostic log message from &quot;QUERY&quot; to &quot;COMMAND&quot;.  Log level 1 for the &quot;QUERY&quot; component is now much less noisy than it used to be.&lt;/p&gt;</comment>
                            <comment id="1013522" author="kevin.pulo@10gen.com" created="Tue, 25 Aug 2015 03:08:56 +0000"  >&lt;p&gt;Won&apos;t setting logLevel 1 for the query component also cause all queries to be logged (not just those over slowms)?  Busy systems can&apos;t do this for extended periods.  If there is a way to log query-related events without also logging every query, then this would be acceptable.&lt;/p&gt;

&lt;p&gt;Another option might be to add another logging component &quot;cursor&quot;, which (at higher levels) logs cursor creation (including options), exhaustion, kill, and timeout, and anything else of relevance to cursors or the cursor manager.&lt;/p&gt;

&lt;p&gt;Either way, the associated source information (at least connection, namespace and query) has to be 100% clear from the cursor-related log message (even in situations where the associated query wasn&apos;t logged).&lt;/p&gt;</comment>
                            <comment id="1013386" author="rassi@10gen.com" created="Mon, 24 Aug 2015 22:37:58 +0000"  >&lt;blockquote&gt;
&lt;p&gt;One is where the problematic cursors only appear occasionally/infrequently, and it&apos;s not feasible to leave log level 1 on for extended periods.  The other is where noTimeout cursors are being used often, but are being correctly exhausted/killed. In this case, these messages are needless and will only clutter the level 1 logs.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The introduction of the &quot;log component&quot; concept was intended to make it feasible for an individual component to be set to a higher level than normal for extended periods.  I can imagine adding a diagnostic message in the cursor manager (query component, log level 1 or 2?) that logs creation and destruction of all cursors; the associated diagnosis workflow would be &quot;run &lt;tt&gt;db.setLogLevel(1, &apos;query&apos;)&lt;/tt&gt;, leave it running for a day, extract from the log a list of all no-timeout cursors created, verify which ones were never destroyed.&quot;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Since the &lt;em&gt;actual&lt;/em&gt; problem is noTimeout cursors &lt;em&gt;that aren&apos;t exhausted/killed&lt;/em&gt;, might it instead be possible to log when a noTimeout cursor &lt;em&gt;would have timed out&lt;/em&gt;?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This may be feasible, though I&apos;d prefer the above solution.&lt;/p&gt;</comment>
                            <comment id="1013347" author="kevin.pulo@10gen.com" created="Mon, 24 Aug 2015 21:46:49 +0000"  >&lt;p&gt;Log level 1 would be okay for egregious cases, where problematic cursors are created frequently.  But there are two counter cases.  One is where the problematic cursors only appear occasionally/infrequently, and it&apos;s not feasible to leave log level 1 on for extended periods.  The other is where noTimeout cursors are being used often, but are being correctly exhausted/killed.  In this case, these messages are needless and will only clutter the level 1 logs.&lt;/p&gt;

&lt;p&gt;Since the &lt;em&gt;actual&lt;/em&gt; problem is noTimeout cursors &lt;em&gt;that aren&apos;t exhausted/killed&lt;/em&gt;, might it instead be possible to log when a noTimeout cursor &lt;em&gt;would have timed out&lt;/em&gt;?  I guess this depends on whether the cursor manager somehow &quot;skips over&quot; noTimeout cursors when timing them out, or whether noTimeout cursors simply aren&apos;t even considered for expiry/timeout.&lt;/p&gt;</comment>
                            <comment id="1013242" author="rassi@10gen.com" created="Mon, 24 Aug 2015 19:54:46 +0000"  >&lt;p&gt;I agree with Kevin that there should be a log message for this event, but I don&apos;t agree that log level 0 is appropriate.&lt;/p&gt;</comment>
                            <comment id="1013233" author="schwerin" created="Mon, 24 Aug 2015 19:42:40 +0000"  >&lt;p&gt;Sounds like a lot of log messages, to me. Either you&apos;ll get zero or a ton, and a ton seems bad.&lt;/p&gt;</comment>
                            <comment id="1012078" author="rassi@10gen.com" created="Fri, 21 Aug 2015 19:10:24 +0000"  >&lt;p&gt;I suggest having the cursor manager log a diagnostic message when a &quot;no timeout&quot; cursor is created.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="17023">SERVER-3090</issuekey>
        </issuelink>
                            </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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25125"><![CDATA[Query Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 21 Aug 2015 19:10:24 +0000</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 4 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-query-execution</customfieldvalue>
            <customfieldvalue>rassi</customfieldvalue>
            <customfieldvalue>kevin.pulo@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrkx8v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr2e33:</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_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|hsfqq7:</customfieldvalue>

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