<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:43:00 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-17010] Reduce file handle usage in File based Sorter</title>
                <link>https://jira.mongodb.org/browse/SERVER-17010</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Per &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dupuisla&quot; class=&quot;user-hover&quot; rel=&quot;dupuisla&quot;&gt;dupuisla&lt;/a&gt;, we need to reduce the number of file handles that we used to sort large amounts of data to avoid file handle exhaustion on various platforms.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-14572&quot; title=&quot;Increase C runtime stdio file limit&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-14572&quot;&gt;&lt;del&gt;SERVER-14572&lt;/del&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I spent some time on the sorter.cpp and it is clear that you need to review this code. The FileIterator consume far too much file descriptors. There is no upper limit and increase the number of handle is just a poor fix.&lt;br/&gt;
Why not merge all this in one file and use &quot;seek&quot; to move between the different block instead of creating thousand of files? In my case, I have something like 2000 of these temp files created, so 2048 will be on the low side.&lt;/p&gt;&lt;/blockquote&gt;</description>
                <environment></environment>
        <key id="180264">SERVER-17010</key>
            <summary>Reduce file handle usage in File based Sorter</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="9">Done</resolution>
                                        <assignee username="dianna.hohensee@mongodb.com">Dianna Hohensee</assignee>
                                    <reporter username="mark.benvenuto@mongodb.com">Mark Benvenuto</reporter>
                        <labels>
                            <label>nyc</label>
                    </labels>
                <created>Thu, 22 Jan 2015 22:45:08 +0000</created>
                <updated>Tue, 22 Dec 2020 21:00:11 +0000</updated>
                            <resolved>Wed, 31 Oct 2018 13:21:48 +0000</resolved>
                                    <version>2.6.7</version>
                    <version>3.2.1</version>
                                    <fixVersion>3.4.22</fixVersion>
                    <fixVersion>3.6.12</fixVersion>
                    <fixVersion>4.0.7</fixVersion>
                    <fixVersion>4.1.5</fixVersion>
                                    <component>Storage</component>
                                        <votes>7</votes>
                                    <watches>25</watches>
                                                                                                                <comments>
                            <comment id="2280053" author="xgen-internal-githook" created="Tue, 11 Jun 2019 19:04:00 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dianna Hohensee&apos;, &apos;email&apos;: &apos;dianna.hohensee@10gen.com&apos;, &apos;username&apos;: &apos;DiannaHohensee&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-17010&quot; title=&quot;Reduce file handle usage in File based Sorter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-17010&quot;&gt;&lt;del&gt;SERVER-17010&lt;/del&gt;&lt;/a&gt; each Sorter instance spills to a single file rather than a new file per spill to disk&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38764&quot; title=&quot;External sorter should use 64-bit integers for file offsets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38764&quot;&gt;&lt;del&gt;SERVER-38764&lt;/del&gt;&lt;/a&gt; External sorter should use 64-bit integers for file offsets&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 48d999c08304b6ede2a9d1f9d9db974b59fe97e2)&lt;br/&gt;
Branch: v3.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c1c761dd865308a15ff75748bf111d0a3ce366d6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c1c761dd865308a15ff75748bf111d0a3ce366d6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2177894" author="xgen-internal-githook" created="Tue, 12 Mar 2019 00:47:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dianna Hohensee&apos;, &apos;email&apos;: &apos;dianna.hohensee@10gen.com&apos;, &apos;username&apos;: &apos;DiannaHohensee&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-17010&quot; title=&quot;Reduce file handle usage in File based Sorter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-17010&quot;&gt;&lt;del&gt;SERVER-17010&lt;/del&gt;&lt;/a&gt; each Sorter instance spills to a single file rather than a new file per spill to disk&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2be7f2677a40a863f336d2964f456c9d87ddc838)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38764&quot; title=&quot;External sorter should use 64-bit integers for file offsets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38764&quot;&gt;&lt;del&gt;SERVER-38764&lt;/del&gt;&lt;/a&gt; External sorter should use 64-bit integers for file offsets&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 9dafb7a3e3bafa463ab5951189b670965995dada)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/48d999c08304b6ede2a9d1f9d9db974b59fe97e2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/48d999c08304b6ede2a9d1f9d9db974b59fe97e2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2162107" author="xgen-internal-githook" created="Mon, 25 Feb 2019 20:14:16 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Eric Milkie&apos;, &apos;username&apos;: &apos;milkie&apos;, &apos;email&apos;: &apos;milkie@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-17010&quot; title=&quot;Reduce file handle usage in File based Sorter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-17010&quot;&gt;&lt;del&gt;SERVER-17010&lt;/del&gt;&lt;/a&gt; additional fixes (didn&apos;t get merged with cherry-pick)&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f906e0b21da0c0fb365687e4e04723a5af8d5002&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f906e0b21da0c0fb365687e4e04723a5af8d5002&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2162010" author="xgen-internal-githook" created="Mon, 25 Feb 2019 19:19:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dianna Hohensee&apos;, &apos;email&apos;: &apos;dianna.hohensee@10gen.com&apos;, &apos;username&apos;: &apos;DiannaHohensee&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-17010&quot; title=&quot;Reduce file handle usage in File based Sorter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-17010&quot;&gt;&lt;del&gt;SERVER-17010&lt;/del&gt;&lt;/a&gt; each Sorter instance spills to a single file rather than a new file per spill to disk&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2be7f2677a40a863f336d2964f456c9d87ddc838)&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9491e6fb0ec2b38dd758d8acfe0e0aa11aa7bad9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9491e6fb0ec2b38dd758d8acfe0e0aa11aa7bad9&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2047288" author="xgen-internal-githook" created="Wed, 31 Oct 2018 12:50:48 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dianna Hohensee&apos;, &apos;email&apos;: &apos;dianna.hohensee@10gen.com&apos;, &apos;username&apos;: &apos;DiannaHohensee&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-17010&quot; title=&quot;Reduce file handle usage in File based Sorter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-17010&quot;&gt;&lt;del&gt;SERVER-17010&lt;/del&gt;&lt;/a&gt; each Sorter instance spills to a single file rather than a new file per spill to disk&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2be7f2677a40a863f336d2964f456c9d87ddc838&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2be7f2677a40a863f336d2964f456c9d87ddc838&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1705819" author="mars911" created="Mon, 23 Oct 2017 06:44:06 +0000"  >&lt;p&gt;How to solve this problem? &lt;/p&gt;</comment>
                            <comment id="1622158" author="redbeard0531" created="Fri, 14 Jul 2017 14:43:14 +0000"  >&lt;p&gt;It should work and be fairly easy to do. It is just a matter of changing the SortedFileWriter and sorter::FileIterator to work over ranges within a single file rather than having their own files, and having the few direct users of SortedFileWriter pass in the common file handle they want to use.&lt;/p&gt;</comment>
                            <comment id="1622120" author="ian@10gen.com" created="Fri, 14 Jul 2017 14:18:42 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=redbeard0531&quot; class=&quot;user-hover&quot; rel=&quot;redbeard0531&quot;&gt;redbeard0531&lt;/a&gt; What are your thoughts on how to approach this/complexity to do so?&lt;/p&gt;</comment>
                            <comment id="1620737" author="alexander.gorrod" created="Thu, 13 Jul 2017 06:23:30 +0000"  >&lt;p&gt;This has been encountered by at least one customer recently - I&apos;ve moved it into needs triage state, to ensure trigger a review of it&apos;s priority, design a path forward and schedule the work.&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">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="698144">SERVER-39597</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="448491">SERVER-31652</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10020">
                    <name>Gantt Dependency</name>
                                            <outwardlinks description="has to be done before">
                                        <issuelink>
            <issuekey id="609131">SERVER-37293</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="180146">SERVER-16991</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="660799">SERVER-38764</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="283998">SERVER-24020</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>9.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_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15640"><![CDATA[v4.0]]></customfieldvalue>
    <customfieldvalue key="15141"><![CDATA[v3.6]]></customfieldvalue>
    <customfieldvalue key="14340"><![CDATA[v3.4]]></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_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000XO72rIAD, 500A000000aR3G2IAK, 5002K00000d7aQiQAI, 5002K00000cjh5YQAQ, 5002K00000e9QUpQAM, 5002K00000lnY0aQAE, 5002K00000rybiBQAQ]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 4 May 2016 06:41:04 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 35 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-1196</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_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 35 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>90.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alexander.gorrod@mongodb.com</customfieldvalue>
            <customfieldvalue>dianna.hohensee@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>ian@mongodb.com</customfieldvalue>
            <customfieldvalue>mark.benvenuto@mongodb.com</customfieldvalue>
            <customfieldvalue>mars911</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrldx3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htu21b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>158277</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="2491">Storage NYC 2018-09-24</customfieldvalue>
    <customfieldvalue id="2519">Storage NYC 2018-10-08</customfieldvalue>
    <customfieldvalue id="2586">Storage NYC 2018-10-22</customfieldvalue>
    <customfieldvalue id="2595">Storage NYC 2018-11-05</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|hsgao7:</customfieldvalue>

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