<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:22:07 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-50228] Convert ThreadPool to use predicated waits</title>
                <link>https://jira.mongodb.org/browse/SERVER-50228</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;tt&gt;ThreadPool&lt;/tt&gt; uses non-predicated cond_var waits &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2261279b51ea13df08ae708ff278f0679c59dc32/src/mongo/util/concurrency/thread_pool.cpp#L226-L228&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2261279b51ea13df08ae708ff278f0679c59dc32/src/mongo/util/concurrency/thread_pool.cpp#L262-L292&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;. In both these cases, we can convert existing predicates to be used with the waits. This will make it substantially harder to miss notifications.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1437266">SERVER-50228</key>
            <summary>Convert ThreadPool to use predicated waits</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="billy.donahue@mongodb.com">Billy Donahue</assignee>
                                    <reporter username="ben.caimano@mongodb.com">Benjamin Caimano</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Aug 2020 18:29:32 +0000</created>
                <updated>Sun, 29 Oct 2023 22:04:36 +0000</updated>
                            <resolved>Thu, 10 Sep 2020 13:44:58 +0000</resolved>
                                                    <fixVersion>4.8.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>11</watches>
                                                                                                                <comments>
                            <comment id="3702424" author="neanton@gmail.com" created="Tue, 6 Apr 2021 08:47:15 +0000"  >&lt;p&gt;I don&apos;t think that this issue fixes replication hangs in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47554&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-47554&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I&apos;ve added a &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47554?focusedCommentId=3702412&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-3702412&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;comment&lt;/a&gt; about upstream glibc bug in 2.27+ that was not fixed yet and seems to cause same pthread_cond_wait missing notifications in other programs.&lt;/p&gt;

&lt;p&gt;Not sure if anything can be done on MongoDB side unless glibc is fixed.&lt;/p&gt;

&lt;p&gt;The only &quot;easy&quot; solution for this would be to use OS that ships with glibc &amp;lt; 2.27 like Debian 9 or CentOS 7.&lt;/p&gt;</comment>
                            <comment id="3702119" author="billy.donahue" created="Mon, 5 Apr 2021 23:57:58 +0000"  >&lt;p&gt;You called this a fix, so I want to confirm with you that this is isn&apos;t actually a fix of anything. I mean there&apos;s no identified fault that this corrects. It&apos;s just a simplification made in hopes of eliminating hiding places for bugs.&lt;/p&gt;</comment>
                            <comment id="3702067" author="JIRAUSER1258850" created="Mon, 5 Apr 2021 23:07:36 +0000"  >&lt;p&gt;Hi Billy,&#160;&lt;/p&gt;

&lt;p&gt;We are running into an issue&#160; which is very similar to&#160;&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47554&quot; title=&quot;Replica Set member suddenly stopped replication process&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47554&quot;&gt;&lt;del&gt;SERVER-47554&lt;/del&gt;&lt;/a&gt; in 3.6 and 4.0. So want to back-port this fix in 4.0 and 4.2&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="3701792" author="billy.donahue" created="Mon, 5 Apr 2021 20:53:11 +0000"  >&lt;p&gt;I don&apos;t think some of these changes will go in cleanly.&lt;br/&gt;
What would be the motivation for the backport?&lt;/p&gt;</comment>
                            <comment id="3701770" author="JIRAUSER1258850" created="Mon, 5 Apr 2021 20:45:12 +0000"  >&lt;p&gt;Can this be back-ported to 4.0 and 4.2?&#160;&lt;/p&gt;</comment>
                            <comment id="3387723" author="xgen-internal-githook" created="Fri, 11 Sep 2020 17:09:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Billy Donahue&apos;, &apos;email&apos;: &apos;billy.donahue@mongodb.com&apos;, &apos;username&apos;: &apos;BillyDonahue&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-50228&quot; title=&quot;Convert ThreadPool to use predicated waits&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-50228&quot;&gt;&lt;del&gt;SERVER-50228&lt;/del&gt;&lt;/a&gt; ThreadPool predicate condvar wait&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Switch std::vector to std::list to enable node splicing.&lt;/li&gt;
	&lt;li&gt;fmt::format&lt;/li&gt;
	&lt;li&gt;ThreadPool::Impl&lt;/li&gt;
	&lt;li&gt;check for uncallable onCreate in ServiceExecutorFixed&lt;/li&gt;
	&lt;li&gt;_workerThreadBody can be member of ThreadPool. Threads don&apos;t detach anymore&lt;br/&gt;
Branch: svilen-optimizer-poc&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/0ce948778cc5e0d7d8a9c76abd37e8ac875d9ef4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/0ce948778cc5e0d7d8a9c76abd37e8ac875d9ef4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="3384698" author="xgen-internal-githook" created="Thu, 10 Sep 2020 07:09:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Billy Donahue&apos;, &apos;email&apos;: &apos;billy.donahue@mongodb.com&apos;, &apos;username&apos;: &apos;BillyDonahue&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-50228&quot; title=&quot;Convert ThreadPool to use predicated waits&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-50228&quot;&gt;&lt;del&gt;SERVER-50228&lt;/del&gt;&lt;/a&gt; ThreadPool predicate condvar wait&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Switch std::vector to std::list to enable node splicing.&lt;/li&gt;
	&lt;li&gt;fmt::format&lt;/li&gt;
	&lt;li&gt;ThreadPool::Impl&lt;/li&gt;
	&lt;li&gt;check for uncallable onCreate in ServiceExecutorFixed&lt;/li&gt;
	&lt;li&gt;_workerThreadBody can be member of ThreadPool. Threads don&apos;t detach anymore&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/0ce948778cc5e0d7d8a9c76abd37e8ac875d9ef4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/0ce948778cc5e0d7d8a9c76abd37e8ac875d9ef4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1315803">SERVER-47554</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_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</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, 8 Sep 2020 17:30:00 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 44 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></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>
                            2 years, 44 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>114.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>neanton@gmail.com</customfieldvalue>
            <customfieldvalue>ben.caimano@mongodb.com</customfieldvalue>
            <customfieldvalue>billy.donahue@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>veramasu@hcl.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxzkcn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxmahz:</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="4267">Service arch 2020-09-21</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|hxz6lz:</customfieldvalue>

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