<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:03: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-43721] Make AuthorizationManager use DistCache</title>
                <link>https://jira.mongodb.org/browse/SERVER-43721</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description></description>
                <environment></environment>
        <key id="946067">SERVER-43721</key>
            <summary>Make AuthorizationManager use DistCache</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="kaloian.manassiev@mongodb.com">Kaloian Manassiev</assignee>
                                    <reporter username="kevin.pulo@mongodb.com">Kevin Pulo</reporter>
                        <labels>
                    </labels>
                <created>Mon, 30 Sep 2019 15:35:52 +0000</created>
                <updated>Sun, 29 Oct 2023 22:16:39 +0000</updated>
                            <resolved>Fri, 17 Jan 2020 11:47:23 +0000</resolved>
                                                    <fixVersion>4.3.3</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="2738782" author="xgen-internal-githook" created="Fri, 17 Jan 2020 10:39:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;kaloianm&apos;, &apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43721&quot; title=&quot;Make AuthorizationManager use DistCache&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43721&quot;&gt;&lt;del&gt;SERVER-43721&lt;/del&gt;&lt;/a&gt; Rename DistCache to ReadThroughCache&lt;/p&gt;

&lt;p&gt; rename src/mongo/util/&lt;/p&gt;
{dist_cache.cpp =&amp;gt; read_through_cache.cpp}
&lt;p&gt; (84%)&lt;br/&gt;
 rename src/mongo/util/&lt;/p&gt;
{dist_cache.h =&amp;gt; read_through_cache.h}
&lt;p&gt; (90%)&lt;br/&gt;
 rename src/mongo/util/&lt;/p&gt;
{dist_cache_test.cpp =&amp;gt; read_through_cache_test.cpp}
&lt;p&gt; (88%)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/82729cb76e65800e9e4eaaeaa0e41d1b5b0e9021&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/82729cb76e65800e9e4eaaeaa0e41d1b5b0e9021&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2735804" author="xgen-internal-githook" created="Thu, 16 Jan 2020 20:01:46 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Gabriel Russell&apos;, &apos;username&apos;: &apos;gabrielrussell&apos;, &apos;email&apos;: &apos;gabriel.russell@mongodb.com&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43721&quot; title=&quot;Make AuthorizationManager use DistCache&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43721&quot;&gt;&lt;del&gt;SERVER-43721&lt;/del&gt;&lt;/a&gt; Rename DistCache to ReadThroughCache&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 4ea0e5f400e2dc8a18c2cf407f13e7780d0c5d14.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/64659579638c97e7e57b139641f75d6b3e5117ad&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/64659579638c97e7e57b139641f75d6b3e5117ad&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2735346" author="xgen-internal-githook" created="Thu, 16 Jan 2020 17:52:56 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;username&apos;: &apos;kaloianm&apos;, &apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43721&quot; title=&quot;Make AuthorizationManager use DistCache&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43721&quot;&gt;&lt;del&gt;SERVER-43721&lt;/del&gt;&lt;/a&gt; Rename DistCache to ReadThroughCache&lt;/p&gt;

&lt;p&gt;No functional changes, just rename.&lt;/p&gt;

&lt;p&gt; rename src/mongo/util/&lt;/p&gt;
{dist_cache.cpp =&amp;gt; read_through_cache.cpp}
&lt;p&gt; (84%)&lt;br/&gt;
 rename src/mongo/util/&lt;/p&gt;
{dist_cache.h =&amp;gt; read_through_cache.h}
&lt;p&gt; (90%)&lt;br/&gt;
 rename src/mongo/util/&lt;/p&gt;
{dist_cache_test.cpp =&amp;gt; read_through_cache_test.cpp}
&lt;p&gt; (88%)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/4ea0e5f400e2dc8a18c2cf407f13e7780d0c5d14&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/4ea0e5f400e2dc8a18c2cf407f13e7780d0c5d14&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2734377" author="xgen-internal-githook" created="Thu, 16 Jan 2020 12:41:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;username&apos;: &apos;kaloianm&apos;, &apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43721&quot; title=&quot;Make AuthorizationManager use DistCache&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43721&quot;&gt;&lt;del&gt;SERVER-43721&lt;/del&gt;&lt;/a&gt; Make the AuthorizationManager use DistCache&lt;/p&gt;

&lt;p&gt;The DistCache (to be later renamed to ReadThroughCache) was derived from&lt;br/&gt;
the same implementation under AuthorizationManager and this change&lt;br/&gt;
removes the code duplication.&lt;/p&gt;

&lt;p&gt;In addition, it makes the following changes to InvalidatingLRUCache and&lt;br/&gt;
the DistCache:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Simplifies and optimises the InvalidatingLRUCache:&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The way it is implemented now, it performs up to 3 operations per&lt;br/&gt;
lookup, unvalidates entries unnecessarily and has overly complicated&lt;br/&gt;
logic, which is source of a crash. Instead of fixing the bug, this&lt;br/&gt;
change rewrites it in a simpler way, which introduces a ValueHandle&lt;br/&gt;
instead of bare shared_ptr for the return value, and only performs&lt;br/&gt;
additional work if entries fall off the underlying LRUCache.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Moves the DistCache under src/util and adds unit tests:&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This change pulls the DistCache (which is the main consumer of&lt;br/&gt;
InvalidatingLRUCache) into its own library and moves it to be&lt;br/&gt;
under src/util like the other caches and adds unit tests.&lt;/p&gt;

&lt;p&gt; delete mode 100644 jstests/auth/pinned_users.js&lt;br/&gt;
 create mode 100644 jstests/auth/pinned_users_clear_pinned_user_list.js&lt;br/&gt;
 create mode 100644 jstests/auth/pinned_users_exclusive_lock_on_admin.js&lt;br/&gt;
 create mode 100644 jstests/auth/pinned_users_remove_user_document_unpins_user.js&lt;br/&gt;
 create mode 100644 src/mongo/util/dist_cache.cpp&lt;br/&gt;
 rename src/mongo/&lt;/p&gt;
{db =&amp;gt; util}
&lt;p&gt;/dist_cache.h (56%)&lt;br/&gt;
 create mode 100644 src/mongo/util/dist_cache_test.cpp&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/73b89c6fc4ed6279b52e2588c102c7fc1182189b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/73b89c6fc4ed6279b52e2588c102c7fc1182189b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2706039" author="xgen-internal-githook" created="Mon, 6 Jan 2020 20:37:02 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;, &apos;username&apos;: &apos;kaloianm&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43721&quot; title=&quot;Make AuthorizationManager use DistCache&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43721&quot;&gt;&lt;del&gt;SERVER-43721&lt;/del&gt;&lt;/a&gt; Do not include lru_cache.h in &apos;encrypted_dbclient_base.cpp&apos;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/62ceffda0dcd90ccc7209b51e89872a7045b7c0e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/62ceffda0dcd90ccc7209b51e89872a7045b7c0e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2706035" author="xgen-internal-githook" created="Mon, 6 Jan 2020 20:36:57 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;, &apos;username&apos;: &apos;kaloianm&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43721&quot; title=&quot;Make AuthorizationManager use DistCache&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43721&quot;&gt;&lt;del&gt;SERVER-43721&lt;/del&gt;&lt;/a&gt; Make &apos;AuditEvent&apos; explicitly list its includes&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/mongo-enterprise-modules/commit/72c69b40bc0d07766a68fa7f659842889397fd60&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo-enterprise-modules/commit/72c69b40bc0d07766a68fa7f659842889397fd60&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="1074028">SERVER-45341</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="1048329">SERVER-45066</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1048329">SERVER-45066</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_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, 30 Dec 2019 00:17:01 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 3 weeks, 5 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-900</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, 3 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>16.0</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvpwcn:</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="3475">Sharding 2020-01-13</customfieldvalue>
    <customfieldvalue id="3570">Sharding 2020-01-27</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|hvt3k7:</customfieldvalue>

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