<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:02: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>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-18] Allow 100k open files on single client</title>
                <link>https://jira.whamcloud.com/browse/LU-18</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Allow 100k open files per client. Fix client to not store committed open RPCs in the resend list but instead reopen files from the file handles upon recovery (see Simplified Interop) to avoid O&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/thumbs_down.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; behaviour when adding new RPCs to the RPCs-for-recovery list on the client. Fix MDS to store &quot;mfd&quot; in a hash table instead of a linked list to avoid O&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/thumbs_down.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; behaviour when searching for an open file handle. For debugging it would be useful to have a /proc entry on the MDS showing the open FIDs for each client export. &lt;/p&gt;</description>
                <environment></environment>
        <key id="10115">LU-18</key>
            <summary>Allow 100k open files on single client</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="niu">Niu Yawei</reporter>
                        <labels>
                    </labels>
                <created>Mon, 22 Nov 2010 17:50:15 +0000</created>
                <updated>Tue, 11 May 2021 19:21:42 +0000</updated>
                            <resolved>Tue, 11 May 2021 19:21:42 +0000</resolved>
                                    <version>Lustre 2.0.0</version>
                    <version>Lustre 2.1.0</version>
                                    <fixVersion>Lustre 2.11.0</fixVersion>
                                        <due>Fri, 10 Dec 2010 00:00:00 +0000</due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="10250" author="niu" created="Fri, 26 Nov 2010 03:17:03 +0000"  >&lt;p&gt;Talked with Andreas and Ericm, to avoid the conflicts with the simplified interop work, also for easy patch/feature management, I decided to use the separate list for the committed open on client (as Andreas suggested) at the first stage.&lt;/p&gt;

&lt;p&gt;For the server side mfd list, I found that in normal operations, the mfd can always be found in the general handle hash table(class_handle_hash), the list only be scanned in following two cases:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;For the resent open(and setattr in som), search the mfd in list by matching xid;&lt;/li&gt;
	&lt;li&gt;For the replayed close(and setattr/done_writing in som), search the mfd in list by matching mfd_old_handle (I don&apos;t quite understand this, why can&apos;t we just keep the old handle for the replayed open? thus this mfd_old_handle trick will be gone);&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;so I suppose what we want is:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Store the mfd in cfs_hash in stead of global handle hash table (indexed by handle), which requires modifing the general handle hash code to export a handle generator function.&lt;/li&gt;
	&lt;li&gt;Keep old handle for the replayed open, thus the mfd_old_handle matching work can be avoid.&lt;/li&gt;
	&lt;li&gt;Create another cfs_hash for the mfd, indexed by xid, thus list searching for resent open can be avoid.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Have exchanged my ideas with Andreas.&lt;/p&gt;</comment>
                            <comment id="10260" author="niu" created="Tue, 30 Nov 2010 23:05:05 +0000"  >&lt;p&gt;Have submit the patch for review.&lt;/p&gt;</comment>
                            <comment id="10311" author="niu" created="Fri, 10 Dec 2010 00:11:52 +0000"  >&lt;p&gt;Updated patch according to reviewers&apos; comments, submitted for the 2nd round review.&lt;/p&gt;</comment>
                            <comment id="76317" author="adilger" created="Wed, 5 Feb 2014 23:19:16 +0000"  >&lt;p&gt;I was trying to find the patch for this ticket, but it seems it was in the old &quot;lustre&quot; project (not &quot;fs/lustre-release&quot; used today) at &lt;a href=&quot;http://review.whamcloud.com/171/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/171/&lt;/a&gt; which has since been removed.&lt;/p&gt;

&lt;p&gt;Niu, do you still have a copy of this patch that you could upload to fs/lustre-release?&lt;/p&gt;</comment>
                            <comment id="76431" author="niu" created="Fri, 7 Feb 2014 04:17:39 +0000"  >&lt;p&gt;Unfortunately, I can&apos;t find a local copy neither. (it could be lost when replacing laptop)&lt;/p&gt;

&lt;p&gt;The most significant change in the patch (client side changes) has been merged in master along with the fix of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2613&quot; title=&quot;opening and closing file can generate &amp;#39;unreclaimable slab&amp;#39; space&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2613&quot;&gt;&lt;del&gt;LU-2613&lt;/del&gt;&lt;/a&gt;. The server side change is about not reusing open handle on server side when do open replay.&lt;/p&gt;</comment>
                            <comment id="76438" author="adilger" created="Fri, 7 Feb 2014 05:46:15 +0000"  >&lt;p&gt;It looks like there is a copy of the patch at &lt;a href=&quot;https://bugzilla.lustre.org/show_bug.cgi?id=24217&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugzilla.lustre.org/show_bug.cgi?id=24217&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="197249" author="adilger" created="Sun, 28 May 2017 06:30:59 +0000"  >&lt;p&gt;Patch &lt;a href=&quot;https://review.whamcloud.com/12885&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/12885&lt;/a&gt; &quot;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5964&quot; title=&quot;test large number of concurrent open files on client&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5964&quot;&gt;&lt;del&gt;LU-5964&lt;/del&gt;&lt;/a&gt; tests: open a large number of files at once&quot; adds a test case for this, which has exposed some issues with memory usage when many files are open.  That issue is being addressed by patch &lt;a href=&quot;https://review.whamcloud.com/27208&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/27208&lt;/a&gt; &quot;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9514&quot; title=&quot;sanity test 51f times out due to out of memory&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9514&quot;&gt;&lt;del&gt;LU-9514&lt;/del&gt;&lt;/a&gt; ptlrpc: free reply buffer for replay RPC&quot;.&lt;/p&gt;

&lt;p&gt;While that patch reduces the memory usage of saved open replay RPC buffers, it would be better to fix the open replay code as described here - to regenerate a new RPC to reopen files after the initial create has committed, rather than saving the open RPC indefinitely.  Saving the RPCs wastes memory, and makes recovery more complex because the RPC format cannot be changed if the server is upgraded when it is offline.&lt;/p&gt;</comment>
                            <comment id="301248" author="adilger" created="Tue, 11 May 2021 19:21:42 +0000"  >&lt;p&gt;The referenced patches have landed, and this is likely fixed.  There doesn&apos;t seem to be any value keeping it open longer.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="26823">LU-5703</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="27743">LU-5964</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="35404" name="open_100kfiles.patch" size="20081" author="adilger" created="Tue, 14 Jul 2020 06:32:16 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                    <customfield id="customfield_10020" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Bugzilla ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>24217.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10040" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Epic</customfieldname>
                        <customfieldvalues>
                                        <label>interoperability</label>
            <label>performance</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzw17b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10276</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>