<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:24:24 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-30609] Investigate need for markThreadIdle with adaptive service executor</title>
                <link>https://jira.mongodb.org/browse/SERVER-30609</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;img src=&quot;https://jira.mongodb.org/secure/attachment/163106/163106_markThreadIdle.png&quot; width=&quot;100%&quot; style=&quot;border: 0px solid black&quot; /&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Each of the six runs ramps up from 0 to 500 client threads each attempting to do as many as 1000 updates per second. The system reaches CPU saturation at about 38 k/s, so of course we expect to see queuing, and to see the client open 500 connections. The six runs are respectively&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;synchronous, 3.5.11&lt;/li&gt;
	&lt;li&gt;synchronous, 3.5.11 + &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28599&quot; title=&quot;Test MarkThreadTemporarilyIdle with free list initialization&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28599&quot;&gt;&lt;del&gt;SERVER-28599&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;synchronous, 3.5.11 with calls to markThreadIdle suppressed&lt;/li&gt;
	&lt;li&gt;adaptive, 3.5.11&lt;/li&gt;
	&lt;li&gt;adaptive, 3.5.11 + &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28599&quot; title=&quot;Test MarkThreadTemporarilyIdle with free list initialization&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28599&quot;&gt;&lt;del&gt;SERVER-28599&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;adaptive, 3.5.11 with calls to markThreadIdle suppressed&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Comparing runs 4, 5, and 6 we see the impact of markThreadIdle in 4 with the adaptive service executor, fixed by either change in 5 and 6.&lt;/p&gt;

&lt;p&gt;Once the current performance issue with markThreadIdle has been addressed by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28599&quot; title=&quot;Test MarkThreadTemporarilyIdle with free list initialization&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28599&quot;&gt;&lt;del&gt;SERVER-28599&lt;/del&gt;&lt;/a&gt;, we should investigate whether and where markThreadIdle should be called in the adaptive case. This should be evaluated using the tests from &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-16773&quot; title=&quot;Performance degradation due to TCMalloc scalability&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-16773&quot;&gt;&lt;del&gt;SERVER-16773&lt;/del&gt;&lt;/a&gt; that led to the implementation of markThreadIdle for the synchronous case.&lt;/p&gt;</description>
                <environment></environment>
        <key id="415464">SERVER-30609</key>
            <summary>Investigate need for markThreadIdle with adaptive service executor</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="mark.benvenuto@mongodb.com">Mark Benvenuto</assignee>
                                    <reporter username="bruce.lucas@mongodb.com">Bruce Lucas</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Aug 2017 14:03:57 +0000</created>
                <updated>Mon, 30 Oct 2023 23:14:26 +0000</updated>
                            <resolved>Thu, 4 Jan 2018 18:50:36 +0000</resolved>
                                                    <fixVersion>3.6.4</fixVersion>
                    <fixVersion>3.7.1</fixVersion>
                                                        <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="1820465" author="xgen-internal-githook" created="Thu, 1 Mar 2018 21:44:12 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;mark.benvenuto@mongodb.com&apos;, &apos;name&apos;: &apos;Mark Benvenuto&apos;, &apos;username&apos;: &apos;markbenvenuto&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-30609&quot; title=&quot;Investigate need for markThreadIdle with adaptive service executor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-30609&quot;&gt;&lt;del&gt;SERVER-30609&lt;/del&gt;&lt;/a&gt; Add support for markThreadIdle to adaptive service executor&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 4bc1ea069e0f9ad04af93a1442d31b87b34ddd25)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1053ad1db64c99965bcb87a6a85344bed3ee8b22&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1053ad1db64c99965bcb87a6a85344bed3ee8b22&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1765283" author="xgen-internal-githook" created="Thu, 4 Jan 2018 18:37:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Mark Benvenuto&apos;, &apos;username&apos;: &apos;markbenvenuto&apos;, &apos;email&apos;: &apos;mark.benvenuto@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-30609&quot; title=&quot;Investigate need for markThreadIdle with adaptive service executor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-30609&quot;&gt;&lt;del&gt;SERVER-30609&lt;/del&gt;&lt;/a&gt; Add support for markThreadIdle to adaptive service executor&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/4bc1ea069e0f9ad04af93a1442d31b87b34ddd25&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/4bc1ea069e0f9ad04af93a1442d31b87b34ddd25&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1680181" author="acm" created="Sat, 23 Sep 2017 14:27:16 +0000"  >&lt;p&gt;Bruce - OK, I don&apos;t mind re-opening it as we continue to investigate. I will assign it to Mark. I suspect though that if we find that we still do want to do this with the adaptive executor, that we will want a distinctly different strategy for calling MarkThreadIdle.&lt;/p&gt;</comment>
                            <comment id="1680018" author="henrik.edin" created="Fri, 22 Sep 2017 21:24:20 +0000"  >&lt;p&gt;Most of the problems should have gone away with the resolution of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-30135&quot; title=&quot;Implement PassthroughServiceExecutor and unify sync/async connection handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-30135&quot;&gt;&lt;del&gt;SERVER-30135&lt;/del&gt;&lt;/a&gt; where markThreadIdle moved in to the executor instead of being in the service state machine. As the adaptive executor doesn&apos;t keep idle threads around long we have, after discussions with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=acm&quot; class=&quot;user-hover&quot; rel=&quot;acm&quot;&gt;acm&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jonathan.reams&quot; class=&quot;user-hover&quot; rel=&quot;jonathan.reams&quot;&gt;jonathan.reams&lt;/a&gt;, concluded that it shouldn&apos;t be necessary to call markThreadIdle for the adaptive executor.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="404004">SERVER-30135</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="163106" name="markThreadIdle.png" size="161516" author="bruce.lucas@mongodb.com" created="Fri, 11 Aug 2017 14:03:55 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.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>Fri, 22 Sep 2017 21:24:20 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 49 weeks, 6 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_14262" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 25 Sep 2017 00:00:00 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-906</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>
                            5 years, 49 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>andrew.morrow@mongodb.com</customfieldvalue>
            <customfieldvalue>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>henrik.edin@mongodb.com</customfieldvalue>
            <customfieldvalue>mark.benvenuto@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htctjj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr9kwn:</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="1877">Platforms 2017-09-11</customfieldvalue>
    <customfieldvalue id="1900">Platforms 2017-10-02</customfieldvalue>
    <customfieldvalue id="1930">Platforms 2017-11-13</customfieldvalue>
    <customfieldvalue id="2050">Platforms 2018-01-01</customfieldvalue>
    <customfieldvalue id="2092">Platforms 2018-01-15</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_14261" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 11 Aug 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_11861" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>User Summary</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11856"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htcfm7:</customfieldvalue>

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