<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:11:56 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-68868] Remove all instances of UninterruptibleLockGuard</title>
                <link>https://jira.mongodb.org/browse/SERVER-68868</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Uses of UninterruptibleLockGuard indicate places in the code that do not comply with MongoDB&apos;s requirement that all operations be interruptible at places where they block to wait for resources. Every one of them is a potential future deadlock, and adds complexity to other parts of the codebase. We should reimplement codepaths that depend on UninterruptibleLockGuard so as to be interruptible.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2115311">SERVER-68868</key>
            <summary>Remove all instances of UninterruptibleLockGuard</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="10033" iconUrl="https://jira.mongodb.org/images/icons/statuses/information.png" description="Status for tickets that need to be escalated and unblocked on our team.">Blocked</status>
                    <statusCategory id="4" key="indeterminate" colorName="inprogress"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-server-execution">Backlog - Storage Execution Team</assignee>
                                    <reporter username="schwerin@mongodb.com">Andy Schwerin</reporter>
                        <labels>
                            <label>techdebt</label>
                    </labels>
                <created>Tue, 16 Aug 2022 18:10:37 +0000</created>
                <updated>Mon, 14 Aug 2023 18:12:04 +0000</updated>
                                                                                                <votes>1</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="4770677" author="dianna.hohensee" created="Tue, 23 Aug 2022 15:38:41 +0000"  >&lt;p&gt;We&apos;d like to investigate the uses and file tickets for removal as appropriate for whichever teams make the most sense.&lt;/p&gt;</comment>
                            <comment id="4758342" author="kaloian.manassiev" created="Wed, 17 Aug 2022 18:19:36 +0000"  >&lt;p&gt;The other use-case is that I want to lock something by name before it actually exists (namely DB and collections - I am referring to the DSS/CSS maps).&lt;/p&gt;

&lt;p&gt;With a mutex I guess I could make one single mutex to cover all the namespaces, but since we perform shard version checks, etc, we don&apos;t want a single mutex to be used across all collections and databases because it will become way too hot.&lt;/p&gt;</comment>
                            <comment id="4758246" author="schwerin" created="Wed, 17 Aug 2022 17:47:04 +0000"  >&lt;p&gt;We could make certain resource-type locks uninterruptible, I suppose. Are you using resource-mutexes because they offer share modes? Otherwise, would you be using a regular mutex? Maybe a &apos;non-interruptible, leaf-only resource mutex&apos;?&lt;/p&gt;</comment>
                            <comment id="4758228" author="kaloian.manassiev" created="Wed, 17 Aug 2022 17:41:38 +0000"  >&lt;p&gt;What about the usages of ULG for resource-type locks, which are level-0 (i.e., no further locks are taken under them) and which serve the role of a mutex? In sharding specifically, these are necessary in order to perform cleanup in the onRollback handlers.&lt;/p&gt;

&lt;p&gt;Perhaps we can make resource-type locks uninterruptible (just like you can&apos;t interrupt a mutex) ?&lt;/p&gt;</comment>
                            <comment id="4755560" author="dianna.hohensee" created="Tue, 16 Aug 2022 20:14:52 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27534&quot; title=&quot;All writing operations must fail if the term changes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27534&quot;&gt;&lt;del&gt;SERVER-27534&lt;/del&gt;&lt;/a&gt; added a bunch of uses, and I really can&apos;t figure out why from the ticket, and whether the reason still exists.&lt;/p&gt;</comment>
                            <comment id="4755131" author="schwerin" created="Tue, 16 Aug 2022 18:19:42 +0000"  >&lt;p&gt;Gregory Noma added a comment - Aug 16 2022 02:18:34 PM EDT&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I count 39 non-test usages of UninterruptibleLockGuard.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;That&apos;s why I filed &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68867&quot; title=&quot;Use linter to prevent new instances of UninteruptibleLockGuard&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68867&quot;&gt;&lt;del&gt;SERVER-68867&lt;/del&gt;&lt;/a&gt;. There used to be 5. We&apos;re going in the wrong direction &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="4755129" author="gregory.noma" created="Tue, 16 Aug 2022 18:18:34 +0000"  >&lt;p&gt;I count 39 non-test usages of &lt;tt&gt;UninterruptibleLockGuard&lt;/tt&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2194073">SERVER-71610</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2115454">SERVER-68874</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2188579">SERVER-71444</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2115309">SERVER-68867</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2188527">SERVER-71441</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2188577">SERVER-71443</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2131428">SERVER-69506</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2115309">SERVER-68867</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>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25136"><![CDATA[Storage Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 16 Aug 2022 18:18:34 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 24 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-68874'>SERVER-68874</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-71441'>SERVER-71441</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-68867'>SERVER-68867</a></s>, <a href='https://jira.mongodb.org/browse/SERVER-71444'>SERVER-71444</a>, <s><a href='https://jira.mongodb.org/browse/SERVER-71443'>SERVER-71443</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-71610'>SERVER-71610</a></s>]]></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>connie.chen@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 24 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-server-execution</customfieldvalue>
            <customfieldvalue>dianna.hohensee@mongodb.com</customfieldvalue>
            <customfieldvalue>gregory.noma@mongodb.com</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i16kt3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0nzxm:c</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="6492">Execution Team 2022-11-14</customfieldvalue>
    <customfieldvalue id="6554">Execution Team 2022-12-12</customfieldvalue>
    <customfieldvalue id="6579">Execution Team 2022-11-28</customfieldvalue>

                        </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|i166yf:</customfieldvalue>

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