<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:40:37 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-35679] General Interruption Facility</title>
                <link>https://jira.mongodb.org/browse/SERVER-35679</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Add support for a generalized interruptibility facility in the server.&lt;/p&gt;

&lt;p&gt;This offers a generalized interruptibility facility, trialed inFuture&amp;lt;T&amp;gt; and ProducerConsumerQueue&amp;lt;T&amp;gt;.&lt;/p&gt;

&lt;p&gt;It offers 3 major concepts:&lt;/p&gt;

&lt;p&gt;Notifyable: A type which can notified off-thread, causing a wake up from some kind of blocking wait&lt;/p&gt;

&lt;p&gt;Waitable: A type which is Notifyable, and also can perform work while in a ready-to-receive notification state. static methods offer support for running underneath condition_variable::wait&apos;s. The chief implementer is the transport layer baton type&lt;/p&gt;

&lt;p&gt;Interruptible: A type which can wait on condition variables, and offers:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;deadlines. This means the type integrates some sort of clock source&lt;/li&gt;
	&lt;li&gt;interruptibility. This means the type offers a way of noticing that it should no longer run via status or exception&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Additionally, Interruptible&apos;s offer special scoped guards which offer&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Exemption from interruption in a region defined by the lifetime of a guard object&lt;/li&gt;
	&lt;li&gt;Subsidiary deadlines which can trigger recursively, offering specialized timeout and status return support.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The series of virtual types allows us to slice the interface between opCtx and future such that opctx can use future and future can use opctx. Additionally, cutting out more functionality allows us to flow a noop interruptibility type which unifies our waiting behind a common api.&lt;/p&gt;</description>
                <environment></environment>
        <key id="561660">SERVER-35679</key>
            <summary>General Interruption Facility</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="mira.carey@mongodb.com">Mira Carey</assignee>
                                    <reporter username="mira.carey@mongodb.com">Mira Carey</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Jun 2018 19:47:19 +0000</created>
                <updated>Mon, 8 Jan 2024 15:22:55 +0000</updated>
                            <resolved>Mon, 17 Sep 2018 22:15:26 +0000</resolved>
                                                    <fixVersion>4.1.4</fixVersion>
                                    <component>Internal Code</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="2006771" author="xgen-internal-githook" created="Tue, 18 Sep 2018 17:13:53 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jason Carey&apos;, &apos;email&apos;: &apos;jcarey@argv.me&apos;, &apos;username&apos;: &apos;hanumantmk&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35679&quot; title=&quot;General Interruption Facility&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35679&quot;&gt;&lt;del&gt;SERVER-35679&lt;/del&gt;&lt;/a&gt; Fix unused named exception&lt;/p&gt;

&lt;p&gt;in operation_context_test&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/cd441ed71c1453993b3af4617e704fbbad3783ef&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/cd441ed71c1453993b3af4617e704fbbad3783ef&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2005767" author="xgen-internal-githook" created="Mon, 17 Sep 2018 22:14:50 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jason Carey&apos;, &apos;email&apos;: &apos;jcarey@argv.me&apos;, &apos;username&apos;: &apos;hanumantmk&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35679&quot; title=&quot;General Interruption Facility&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35679&quot;&gt;&lt;del&gt;SERVER-35679&lt;/del&gt;&lt;/a&gt; General Interruption Facility&lt;/p&gt;

&lt;p&gt;Add support for a generalized interruptibility facility in the server.&lt;/p&gt;

&lt;p&gt;This offers a generalized interruptibility facility, trialed in&lt;br/&gt;
Future&amp;lt;T&amp;gt; and ProducerConsumerQueue&amp;lt;T&amp;gt;.&lt;/p&gt;

&lt;p&gt;It offers 3 major concepts:&lt;/p&gt;

&lt;p&gt;Notifyable:  A type which can notified off-thread, causing a wake up&lt;br/&gt;
from some kind of blocking wait&lt;/p&gt;

&lt;p&gt;Waitable: A type which is Notifyable, and also can perform work while in&lt;br/&gt;
a ready-to-receive notification state.  static methods offer support for&lt;br/&gt;
running underneath condition_variable::wait&apos;s.  The chief implementer is&lt;br/&gt;
the transport layer baton type&lt;/p&gt;

&lt;p&gt;Interruptible: A type which can wait on condition variables, and offers:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;deadlines.  This means the type integrates some sort of clock source&lt;/li&gt;
	&lt;li&gt;interruptibility.  This means the type offers a way of noticing&lt;br/&gt;
    that it should no longer run via status or exception&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Additionally, Interruptible&apos;s offer special scoped guards which&lt;br/&gt;
offer&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Exemption from interruption in a region defined by the lifetime&lt;br/&gt;
    of a guard object&lt;/li&gt;
	&lt;li&gt;Subsidiary deadlines which can trigger recursively, offering&lt;br/&gt;
    specialized timeout and status return support.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The series of virtual types allows us to slice the interface between&lt;br/&gt;
opCtx and future such that opctx can use future and future can use&lt;br/&gt;
opctx.  Additionally, cutting out more functionality allows us to flow a&lt;br/&gt;
noop interruptibility type which unifies our waiting behind a common&lt;br/&gt;
api.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/6e3c5ea176aadbd0475f8f87525b9f0fabd4bdc9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/6e3c5ea176aadbd0475f8f87525b9f0fabd4bdc9&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="234978">SERVER-21005</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="278566">SERVER-23625</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                        </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>4.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>Wed, 22 Aug 2018 23:31:36 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 21 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1085</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, 21 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>27.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>mira.carey@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hu105b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htuyrb:</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="2370">Platforms 2018-07-16</customfieldvalue>
    <customfieldvalue id="2371">Platforms 2018-07-30</customfieldvalue>
    <customfieldvalue id="2449">Platforms 2018-08-13</customfieldvalue>
    <customfieldvalue id="2485">Platforms 2018-09-24</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|hu0men:</customfieldvalue>

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