<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:30:12 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-32424] Use WiredTiger cursor caching</title>
                <link>https://jira.mongodb.org/browse/SERVER-32424</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;As part of &lt;a href=&quot;https://jira.mongodb.org/browse/WT-1228&quot; title=&quot;Improve performance of WT_SESSION::open_cursor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;WT-1228&quot;&gt;&lt;del&gt;WT-1228&lt;/del&gt;&lt;/a&gt;, we can enable cursor caching for WiredTiger in the integration layer.  Originally, we intended to remove the cursor caching done in the integration layer. To get roughly equivalent performance, we should keep the caching at the integration layer (with a much lower count of cursors), and when a session is released, all cursors in the session will be closed. Closing the cursors will cache them in WiredTiger, so that reopens will be quick. Thus, this is called a hybrid scheme. It has the benefit of the original plan that we should be able to immediately drop or verify collections that are no longer in use.&lt;/p&gt;</description>
                <environment></environment>
        <key id="474781">SERVER-32424</key>
            <summary>Use WiredTiger cursor caching</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="13201">Fixed</resolution>
                                        <assignee username="donald.anderson@mongodb.com">Donald Anderson</assignee>
                                    <reporter username="donald.anderson@mongodb.com">Donald Anderson</reporter>
                        <labels>
                            <label>SEKB</label>
                    </labels>
                <created>Wed, 20 Dec 2017 18:01:28 +0000</created>
                <updated>Mon, 30 Oct 2023 23:09:46 +0000</updated>
                            <resolved>Fri, 13 Apr 2018 12:51:42 +0000</resolved>
                                                    <fixVersion>3.6.10</fixVersion>
                    <fixVersion>3.7.4</fixVersion>
                                                        <votes>1</votes>
                                    <watches>12</watches>
                                                                                                                <comments>
                            <comment id="2105145" author="xgen-internal-githook" created="Fri, 4 Jan 2019 04:10:48 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;lukech&apos;, &apos;email&apos;: &apos;luke.chen@mongodb.com&apos;, &apos;name&apos;: &apos;Luke Chen&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32424&quot; title=&quot;Use WiredTiger cursor caching&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32424&quot;&gt;&lt;del&gt;SERVER-32424&lt;/del&gt;&lt;/a&gt; Use hybrid cursor caching by default.&lt;br/&gt;
This mechanism is a hybrid between the current way of doing cursor caching&lt;br/&gt;
in the integration layer and doing cursor caching in WiredTiger.&lt;br/&gt;
This gives the best compromise between allowing exclusive operations&lt;br/&gt;
(drop/verify) to succeed, and good performance for typical workloads.&lt;br/&gt;
The old cursor caching scheme, as well as one that caches purely in&lt;br/&gt;
WiredTiger, are available as options when starting the server.&lt;br/&gt;
Added a performance improvement for capped collections, especially under&lt;br/&gt;
the new cursor caching schemes.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit c0d20e4fb98626143d772bb70a950b277685bbbd)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e9e710e6050d9025250f2ba7cb4a2ffcd711b1e1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e9e710e6050d9025250f2ba7cb4a2ffcd711b1e1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1863380" author="xgen-internal-githook" created="Fri, 13 Apr 2018 10:15:06 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;dda@mongodb.com&apos;, &apos;name&apos;: &apos;Don Anderson&apos;, &apos;username&apos;: &apos;ddanderson&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32424&quot; title=&quot;Use WiredTiger cursor caching&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32424&quot;&gt;&lt;del&gt;SERVER-32424&lt;/del&gt;&lt;/a&gt; Use hybrid cursor caching by default.&lt;br/&gt;
This mechanism is a hybrid between the current way of doing cursor caching&lt;br/&gt;
in the integration layer and doing cursor caching in WiredTiger.&lt;br/&gt;
This gives the best compromise between allowing exclusive operations&lt;br/&gt;
(drop/verify) to succeed, and good performance for typical workloads.&lt;br/&gt;
The old cursor caching scheme, as well as one that caches purely in&lt;br/&gt;
WiredTiger, are available as options when starting the server.&lt;br/&gt;
Added a performance improvement for capped collections, especially under&lt;br/&gt;
the new cursor caching schemes.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c0d20e4fb98626143d772bb70a950b277685bbbd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c0d20e4fb98626143d772bb70a950b277685bbbd&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1859946" author="alexander.gorrod" created="Tue, 10 Apr 2018 06:18:45 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=donald.anderson&quot; class=&quot;user-hover&quot; rel=&quot;donald.anderson&quot;&gt;donald.anderson&lt;/a&gt; I believe all the pieces are in place to make this change now. Could you proceed with:&lt;/p&gt;

&lt;p&gt;Changing the default behavior so that:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The WiredTiger cursor cache is turned on in MongoDB.&lt;/li&gt;
	&lt;li&gt;The MongoDB cursor cache is turned off.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Also adding a method for MongoDB users to revert to the old behavior via a configuration option. I&apos;m hoping there is a way to tie that into the new &lt;tt&gt;wiredTigerCursorCacheSize&lt;/tt&gt; option added in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33122&quot; title=&quot;add option to limit WiredTiger cursor cache size&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33122&quot;&gt;&lt;del&gt;SERVER-33122&lt;/del&gt;&lt;/a&gt;. Maybe changing the default value of that to &lt;tt&gt;0&lt;/tt&gt;, and having any non-zero value disable the WiredTiger cursor cache? It&apos;s also a signed value, so we could use &lt;tt&gt;0&lt;/tt&gt; to disable all caching, and a value of &lt;tt&gt;-1&lt;/tt&gt; to enable using the WiredTiger cache, but that&apos;s pretty non-intuitive.&lt;/p&gt;</comment>
                            <comment id="1840463" author="alexander.gorrod" created="Wed, 21 Mar 2018 06:42:48 +0000"  >&lt;p&gt;The WiredTiger cursor cache has been disabled via a configuration option in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34024&quot; title=&quot;Disable WiredTiger cursor cache by default.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34024&quot;&gt;&lt;del&gt;SERVER-34024&lt;/del&gt;&lt;/a&gt;, the final change here should re-enable the WiredTiger cursor cache.&lt;/p&gt;</comment>
                            <comment id="1831639" author="alexander.gorrod" created="Tue, 13 Mar 2018 03:05:30 +0000"  >&lt;p&gt;Given the scope of this change, and how sensitive some workloads are to cursor caching, I&apos;m inclined to keep the existing cursor cache schema as a configurable startup option. That will give a reasonable escape valve if we discover any cases where the new caching scheme causes degraded performance characteristics.&lt;/p&gt;

&lt;p&gt;Hopefully that can tie into the work done in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33122&quot; title=&quot;add option to limit WiredTiger cursor cache size&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33122&quot;&gt;&lt;del&gt;SERVER-33122&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1826957" author="alexander.gorrod" created="Thu, 8 Mar 2018 05:29:49 +0000"  >&lt;p&gt;When implementing &lt;a href=&quot;https://jira.mongodb.org/browse/WT-3938&quot; title=&quot;Reduce memory usage with many tables and sessions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;WT-3938&quot;&gt;&lt;del&gt;WT-3938&lt;/del&gt;&lt;/a&gt; we encountered an inefficiency in the implementation of capped collections in WiredTiger, where we were opening 4 cursors. The changes in this ticket should include an optimization that reduces the number of cursors used in capped collection size maintenance.&lt;/p&gt;</comment>
                            <comment id="1813706" author="alexander.gorrod" created="Thu, 22 Feb 2018 23:04:09 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=donald.anderson&quot; class=&quot;user-hover&quot; rel=&quot;donald.anderson&quot;&gt;donald.anderson&lt;/a&gt; Is this a duplicate of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33378&quot; title=&quot;Remove cursor caching from integration layer, using WiredTiger caching&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33378&quot;&gt;&lt;del&gt;SERVER-33378&lt;/del&gt;&lt;/a&gt;?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="507643">SERVER-33741</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="682317">SERVER-39355</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="492436">SERVER-33122</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>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_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15141"><![CDATA[v3.6]]></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, 22 Feb 2018 23:04:09 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 5 weeks, 6 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-938</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, 5 weeks, 6 days 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>alexander.gorrod@mongodb.com</customfieldvalue>
            <customfieldvalue>donald.anderson@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|htmncf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr9ddz:</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="2124">Storage 2018-02-26</customfieldvalue>
    <customfieldvalue id="2127">Storage Non-NYC 2018-04-09</customfieldvalue>
    <customfieldvalue id="2249">Storage Non-NYC 2018-04-23</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|htm9gv:</customfieldvalue>

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