<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:01:42 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-42895] Expand mongo::LockActions/Mutex</title>
                <link>https://jira.mongodb.org/browse/SERVER-42895</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;mongo::Mutex currently has a single mongo::LockActions smart pointer without an onLock() function. We should expand mongo::Mutex to keep a linked list and mongo::LockActions to have a full suite of hooks. In addition, all LockActions hooks should probably pass a const mongo::Mutex pointer.&lt;/p&gt;</description>
                <environment></environment>
        <key id="900234">SERVER-42895</key>
            <summary>Expand mongo::LockActions/Mutex</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="ben.caimano@mongodb.com">Benjamin Caimano</assignee>
                                    <reporter username="ben.caimano@mongodb.com">Benjamin Caimano</reporter>
                        <labels>
                    </labels>
                <created>Mon, 19 Aug 2019 17:50:39 +0000</created>
                <updated>Sun, 29 Oct 2023 22:17:56 +0000</updated>
                            <resolved>Tue, 22 Oct 2019 00:20:49 +0000</resolved>
                                                    <fixVersion>4.3.1</fixVersion>
                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="2512752" author="xgen-internal-githook" created="Thu, 31 Oct 2019 16:04:03 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;bcaimano&apos;, &apos;email&apos;: &apos;ben.caimano@mongodb.com&apos;, &apos;name&apos;: &apos;Ben Caimano&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-41357&quot; title=&quot;Add mongo::mutex polyfill&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-41357&quot;&gt;&lt;del&gt;SERVER-41357&lt;/del&gt;&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-41360&quot; title=&quot;Create diagnostic info capture type &quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-41360&quot;&gt;&lt;del&gt;SERVER-41360&lt;/del&gt;&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43324&quot; title=&quot;Add BasicLockableAdaptor for cleaner function APIs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43324&quot;&gt;&lt;del&gt;SERVER-43324&lt;/del&gt;&lt;/a&gt; Add Mutex, BasicLockableAdaptor, and DiagnosticInfo&lt;/p&gt;

&lt;p&gt;This commit backports Mutex, BasicLockableAdaptor, and DiagnosticInfo to&lt;br/&gt;
v4.2. These pieces came in completely in various interleaved commits.&lt;br/&gt;
The constituent commits partially included in this backport are listed&lt;br/&gt;
below. The majority of these commits are part of the &quot;Improved&lt;br/&gt;
Diagnostics for Latches&quot; epic.&lt;/p&gt;

&lt;p&gt;Mutex:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-41357&quot; title=&quot;Add mongo::mutex polyfill&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-41357&quot;&gt;&lt;del&gt;SERVER-41357&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-41362&quot; title=&quot;Attach diagnostic captures to OperationContexts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-41362&quot;&gt;&lt;del&gt;SERVER-41362&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42893&quot; title=&quot;Create MONGO_DEFINE_*_LATCH macros for latch initialization&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42893&quot;&gt;&lt;del&gt;SERVER-42893&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42595&quot; title=&quot;Refactor locks in curop to make currentop_waiting_for_latch.js test work&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42595&quot;&gt;&lt;del&gt;SERVER-42595&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42165&quot; title=&quot;Replace standalone uses of stdx::mutex with mongo::mutex&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42165&quot;&gt;&lt;del&gt;SERVER-42165&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42895&quot; title=&quot;Expand mongo::LockActions/Mutex&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42895&quot;&gt;&lt;del&gt;SERVER-42895&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;BasicLockableAdaptor:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43324&quot; title=&quot;Add BasicLockableAdaptor for cleaner function APIs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43324&quot;&gt;&lt;del&gt;SERVER-43324&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43374&quot; title=&quot;Extend BasicLockableAdaptor lifetime in waitForConditionUntil&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43374&quot;&gt;&lt;del&gt;SERVER-43374&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43800&quot; title=&quot;ClockSource::waitForConditionUntil shouldn&amp;#39;t use unique_lock out of line&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43800&quot;&gt;&lt;del&gt;SERVER-43800&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;DiagnosticInfo:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-41360&quot; title=&quot;Create diagnostic info capture type &quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-41360&quot;&gt;&lt;del&gt;SERVER-41360&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-41362&quot; title=&quot;Attach diagnostic captures to OperationContexts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-41362&quot;&gt;&lt;del&gt;SERVER-41362&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-41358&quot; title=&quot;Add mongo::condition_variable polyfill&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-41358&quot;&gt;&lt;del&gt;SERVER-41358&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-41364&quot; title=&quot;Allow generation of compressed stack of addresses&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-41364&quot;&gt;&lt;del&gt;SERVER-41364&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42448&quot; title=&quot;Add backtrace test for DiagnosticInfo&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42448&quot;&gt;&lt;del&gt;SERVER-42448&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42363&quot; title=&quot;Add test for backtrace on $currentOp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42363&quot;&gt;&lt;del&gt;SERVER-42363&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42363&quot; title=&quot;Add test for backtrace on $currentOp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42363&quot;&gt;&lt;del&gt;SERVER-42363&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42492&quot; title=&quot;Attach DiagnosticInfo on long mongo::ConditionVariable::wait()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42492&quot;&gt;&lt;del&gt;SERVER-42492&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42595&quot; title=&quot;Refactor locks in curop to make currentop_waiting_for_latch.js test work&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42595&quot;&gt;&lt;del&gt;SERVER-42595&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-44086&quot; title=&quot;Scrub away leftovers from Improved Diagnostics for Latches&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-44086&quot;&gt;&lt;del&gt;SERVER-44086&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Note that while this commit adds these pieces and integrates them into&lt;br/&gt;
the mongo-server codebase, it does not convert existing stdx::mutex&lt;br/&gt;
construction. It also does not include the updates to Interruptible that&lt;br/&gt;
were done as part of &quot;Improved Diagnostics for Latches&quot;.&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/3a05e4ce75cd03b09b52ec5943e1801c6d91279b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/3a05e4ce75cd03b09b52ec5943e1801c6d91279b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2493381" author="xgen-internal-githook" created="Mon, 21 Oct 2019 20:05:01 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;bcaimano&apos;, &apos;email&apos;: &apos;ben.caimano@mongodb.com&apos;, &apos;name&apos;: &apos;Ben Caimano&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42967&quot; title=&quot;Add DiagnosticInfo hooks into Interruptible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42967&quot;&gt;&lt;del&gt;SERVER-42967&lt;/del&gt;&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42895&quot; title=&quot;Expand mongo::LockActions/Mutex&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42895&quot;&gt;&lt;del&gt;SERVER-42895&lt;/del&gt;&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-44086&quot; title=&quot;Scrub away leftovers from Improved Diagnostics for Latches&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-44086&quot;&gt;&lt;del&gt;SERVER-44086&lt;/del&gt;&lt;/a&gt; Expand DiagnosticInfo hooks in Interruptible and Mutex&lt;/p&gt;

&lt;p&gt;This commit:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Adds Listener hooks for Interruptible&lt;/li&gt;
	&lt;li&gt;Expands Listener hooks for Mutex&lt;/li&gt;
	&lt;li&gt;Updates the DiagnosticInfo and its tests to use the new hooks&lt;/li&gt;
	&lt;li&gt;Removes stacktracing pieces from DiagnosticInfo and its tests&lt;/li&gt;
	&lt;li&gt;Removes mongo::ConditionVariable entirely in favor of Interruptible&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b641599cf48d33bc79a4131ac8a8f5018dea83c4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b641599cf48d33bc79a4131ac8a8f5018dea83c4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="903850">SERVER-42967</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>2.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_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>Mon, 21 Oct 2019 20:05:01 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 14 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_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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1473</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>
                            4 years, 14 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>ben.caimano@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hvlpov:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvajfr:</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="3333">Service Arch 2019-10-07</customfieldvalue>
    <customfieldvalue id="3334">Service Arch 2019-10-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|hvlby7:</customfieldvalue>

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