<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:49:17 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-60229] lock manager for mongos</title>
                <link>https://jira.mongodb.org/browse/SERVER-60229</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://docs.mongodb.com/manual/core/sharded-cluster-query-router/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongos&lt;/a&gt; currently runs without a full featured resource lock manager. OperationContext instances are created with &lt;a href=&quot;https://github.com/mongodb/mongo/blob/49fdd91a494e587b9210705fd521c785f7499e4f/src/mongo/db/concurrency/locker_noop.h#L37&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;LockerNoop&lt;/a&gt; for the lock implementation, which has sometimes led to issues such as those described in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59591&quot; title=&quot;LockerNoop::isW() always returns true allowing multiple operations think they are holding the global exclusive lock at the same time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59591&quot;&gt;&lt;del&gt;SERVER-59591&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This ticket looks into whether it makes sense to install a &lt;a href=&quot;https://github.com/mongodb/mongo/blob/49fdd91a494e587b9210705fd521c785f7499e4f/src/mongo/db/concurrency/lock_manager.h#L54&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;lock manager&lt;/a&gt; for mongos with a lock implementation closer to that in &lt;a href=&quot;https://github.com/mongodb/mongo/blob/49fdd91a494e587b9210705fd521c785f7499e4f/src/mongo/db/concurrency/lock_state.h#L87&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;LockerImpl&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1883881">SERVER-60229</key>
            <summary>lock manager for mongos</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="13203">Gone away</resolution>
                                        <assignee username="backlog-server-execution">Backlog - Storage Execution Team</assignee>
                                    <reporter username="benety.goh@mongodb.com">Benety Goh</reporter>
                        <labels>
                            <label>techdebt</label>
                    </labels>
                <created>Sun, 26 Sep 2021 22:40:23 +0000</created>
                <updated>Fri, 27 Oct 2023 20:45:55 +0000</updated>
                            <resolved>Wed, 31 May 2023 07:14:43 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="5463138" author="kaloian.manassiev" created="Wed, 31 May 2023 07:14:43 +0000"  >&lt;p&gt;No need for that after &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-77353&quot; title=&quot;Get rid of the Locker implementation for MongoS&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-77353&quot;&gt;&lt;del&gt;SERVER-77353&lt;/del&gt;&lt;/a&gt; &lt;/p&gt;</comment>
                            <comment id="4185691" author="benety.goh" created="Fri, 12 Nov 2021 15:15:41 +0000"  >&lt;p&gt;We were trying to avoid issues such as those found in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59591&quot; title=&quot;LockerNoop::isW() always returns true allowing multiple operations think they are holding the global exclusive lock at the same time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59591&quot;&gt;&lt;del&gt;SERVER-59591&lt;/del&gt;&lt;/a&gt;. In &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59618&quot; title=&quot;Avoid using LockerNoop outside of unit tests&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59618&quot;&gt;&lt;del&gt;SERVER-59618&lt;/del&gt;&lt;/a&gt;, we cloned LockerNoop into &lt;a href=&quot;https://github.com/mongodb/mongo/commit/3908a54ad0569d3cbe672923d78a41e2bb3cbb37#diff-c4ad49b842120314e905f7c78eff47a14f793b31a23f7a382d42ae44d1d8c764R39&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;LockerMongos&lt;/a&gt;, which still returns true for &lt;a href=&quot;https://github.com/mongodb/mongo/commit/3908a54ad0569d3cbe672923d78a41e2bb3cbb37#diff-c4ad49b842120314e905f7c78eff47a14f793b31a23f7a382d42ae44d1d8c764R43&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Locker::isNoop()&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I am not aware of any recent Locker issues with mongos, so this ticket is more of a proactive effort to head off potential issues with using a LockerNoop-derived class for mongos.&lt;/p&gt;

&lt;p&gt;We can revisit this ticket at a later time.&lt;/p&gt;</comment>
                            <comment id="4091140" author="kaloian.manassiev" created="Wed, 29 Sep 2021 08:36:13 +0000"  >&lt;p&gt;What is the use case for a lock manager on MongoS? Is it about taking advantage of the resource mutexes? Because MongoS itself doesn&apos;t have notion of the locking hierarchy.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="328820">SERVER-26879</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2354431">SERVER-77613</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1860229">SERVER-59591</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="900254">SERVER-42901</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1860858">SERVER-59618</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2346917">SERVER-77353</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>3.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_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>Wed, 29 Sep 2021 08:36:13 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        36 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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            36 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-execution</customfieldvalue>
            <customfieldvalue>benety.goh@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|i0392v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzwc93:</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="5421">Execution Team 2021-11-15</customfieldvalue>
    <customfieldvalue id="5551">Execution Team 2022-01-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|i02v87:</customfieldvalue>

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