<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:08:10 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-25062] Implement interruptible sleep and condition variable waitFor methods on OperationContext</title>
                <link>https://jira.mongodb.org/browse/SERVER-25062</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21004&quot; title=&quot;Implement wait objects that support operation interruption/expiration&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21004&quot;&gt;&lt;del&gt;SERVER-21004&lt;/del&gt;&lt;/a&gt; introduced interruptible condition variable wait functions using OperationContext. This task is to also implement interruptible unconditional sleep methods and to round out the set of interruptible condition variable waits available, to more closely match those available on std::condition_variable.&lt;/p&gt;

&lt;p&gt;To be implemented, at least:&lt;/p&gt;

&lt;p&gt;OperationContext::sleepUntil()&lt;br/&gt;
OperationContext::sleepFor()&lt;br/&gt;
Various forms of OperationContext::waitForConditionOrInterruptFor.&lt;/p&gt;</description>
                <environment></environment>
        <key id="301091">SERVER-25062</key>
            <summary>Implement interruptible sleep and condition variable waitFor methods on OperationContext</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="9">Done</resolution>
                                        <assignee username="schwerin@mongodb.com">Andy Schwerin</assignee>
                                    <reporter username="schwerin@mongodb.com">Andy Schwerin</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Jul 2016 14:35:05 +0000</created>
                <updated>Mon, 8 Oct 2018 17:40:19 +0000</updated>
                            <resolved>Wed, 15 Mar 2017 23:04:59 +0000</resolved>
                                                    <fixVersion>3.5.5</fixVersion>
                                    <component>Internal Code</component>
                                        <votes>1</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="1525295" author="xgen-internal-githook" created="Wed, 15 Mar 2017 23:04:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;Andy Schwerin schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-25062&quot; title=&quot;Implement interruptible sleep and condition variable waitFor methods on OperationContext&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-25062&quot;&gt;&lt;del&gt;SERVER-25062&lt;/del&gt;&lt;/a&gt; Fix MetadataManagerTest.NotificationBlocksUntilDeletion.&lt;/p&gt;

&lt;p&gt;Its prior implementation kept a pointer to a dead OperationContext. Before prior&lt;br/&gt;
work on this ticket, the pointer was never dereferenced, so no errors surfaced.&lt;br/&gt;
Only debug builds surfaced this error, because only they overwrite freed memory.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9911c1a17c7ea34be64b3869867dc26c4b0942d6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9911c1a17c7ea34be64b3869867dc26c4b0942d6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1525141" author="schwerin" created="Wed, 15 Mar 2017 20:23:26 +0000"  >&lt;p&gt;Broken test on Windows. Reopening.&lt;/p&gt;</comment>
                            <comment id="1524934" author="xgen-internal-githook" created="Wed, 15 Mar 2017 17:57:18 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;Andy Schwerin schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-25062&quot; title=&quot;Implement interruptible sleep and condition variable waitFor methods on OperationContext&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-25062&quot;&gt;&lt;del&gt;SERVER-25062&lt;/del&gt;&lt;/a&gt; Remove racy, redundant SleepForExpires test from operation_context_test.&lt;/p&gt;

&lt;p&gt;Since OperationContext::sleepFor is a thin wrapper around the predicate form of&lt;br/&gt;
OperationContext::waitForConditionOrInterrupt, the SleepForExpires test duplicates&lt;br/&gt;
coverage from the SleepUntilExpires and ForExpiresWhileWaiting tests. It is also&lt;br/&gt;
racy, because it must sleep on a different condition variable from the one supplied&lt;br/&gt;
in the WaitTestState.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b9827dcc65c15eae2b863b9a0a60a9864ba3f98b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b9827dcc65c15eae2b863b9a0a60a9864ba3f98b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1524901" author="xgen-internal-githook" created="Wed, 15 Mar 2017 17:37:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;Andy Schwerin schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-25062&quot; title=&quot;Implement interruptible sleep and condition variable waitFor methods on OperationContext&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-25062&quot;&gt;&lt;del&gt;SERVER-25062&lt;/del&gt;&lt;/a&gt; Fix return types of predicated waits and notification waitFor.&lt;/p&gt;

&lt;p&gt;This patch makes the return types of predicated waits on condition variables&lt;br/&gt;
and Notification::waitFor look more like the corresponding functions in C++&lt;br/&gt;
standard types.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1515d4e4e2613e79b2c1761b7505cfaa9c31f0a9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1515d4e4e2613e79b2c1761b7505cfaa9c31f0a9&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1520561" author="schwerin" created="Thu, 9 Mar 2017 22:50:32 +0000"  >&lt;p&gt;Forgot about a minor return type mistake in my implementations; will fix before re-resolving.&lt;/p&gt;</comment>
                            <comment id="1520556" author="xgen-internal-githook" created="Thu, 9 Mar 2017 22:45:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;name&apos;: u&apos;Andy Schwerin&apos;, u&apos;email&apos;: u&apos;Andy Schwerin schwerin@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-25062&quot; title=&quot;Implement interruptible sleep and condition variable waitFor methods on OperationContext&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-25062&quot;&gt;&lt;del&gt;SERVER-25062&lt;/del&gt;&lt;/a&gt; Implement interruptible sleep and waitFor methods on OperationContext.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9352a9eb96a350b9fedeb2ff2984ef40fe80c894&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9352a9eb96a350b9fedeb2ff2984ef40fe80c894&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                        <issuelink>
            <issuekey id="611249">SERVER-37367</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="234975">SERVER-21004</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.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>Thu, 9 Mar 2017 22:45:59 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        6 years, 48 weeks 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>greg.mckeon@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            6 years, 48 weeks 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>schwerin@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|hrk2mv:</customfieldvalue>

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

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