<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:27:10 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-16454] can&apos;t set max_mod_rpcs_in_flight &gt; 8</title>
                <link>https://jira.whamcloud.com/browse/LU-16454</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I am trying to increase mdc.*.max_mod_rpcs_in_flight to grater than 8 but I get an error.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;# lctl set_param mdc.fs1-MDT0000-mdc-ffff902107a5e000.max_rpcs_in_flight=128&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;mdc.fs1-MDT0000-mdc-ffff902107a5e000.max_rpcs_in_flight=128&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;#lctl set_param mdc.fs1-MDT0000-mdc-ffff902107a5e000.max_mod_rpcs_in_flight=127&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;error: set_param: setting /sys/fs/lustre/mdc/fs1-MDT0000-mdc-ffff902107a5e000/max_mod_rpcs_in_flight=127: Numerical result out of range&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;# lctl get_param version&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;version=2.15.1&lt;/tt&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="73891">LU-16454</key>
            <summary>can&apos;t set max_mod_rpcs_in_flight &gt; 8</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</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="vkuznetsov">Vitaliy Kuznetsov</assignee>
                                    <reporter username="mhanafi">Mahmoud Hanafi</reporter>
                        <labels>
                    </labels>
                <created>Sat, 7 Jan 2023 22:57:01 +0000</created>
                <updated>Fri, 7 Jul 2023 02:54:35 +0000</updated>
                            <resolved>Tue, 14 Feb 2023 06:14:33 +0000</resolved>
                                    <version>Lustre 2.15.1</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="358240" author="mhanafi" created="Sun, 8 Jan 2023 00:33:59 +0000"  >&lt;p&gt;Here is the error in debug logs&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;00000020:00020000:0.0F:1673137999.151510:0:2742:0:(genops.c:2175:obd_set_max_mod_rpcs_in_flight()) fs1-MDT0000-mdc-ffff902107a5e000: can&apos;t set max_mod_rpcs_in_flight=9 higher than ocd_maxmodrpcs=8 returned by the server at connection&lt;/p&gt;</comment>
                            <comment id="358241" author="mhanafi" created="Sun, 8 Jan 2023 00:46:36 +0000"  >&lt;p&gt;I figured out the issue. It was module setting on the server. The documentation should be update to state that the server side module param should be updated first.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="358309" author="pjones" created="Mon, 9 Jan 2023 20:17:12 +0000"  >&lt;p&gt;Vitaliy&lt;/p&gt;

&lt;p&gt;We discussed this during the triage call today. Andreas has some suggestions of how to address this issue that he will share and then could you please follow up and implement?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="358344" author="adilger" created="Tue, 10 Jan 2023 00:31:30 +0000"  >&lt;p&gt;Vitaliy, in my previous investigation of a similar issue in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14144&quot; title=&quot;get and set Lustre module parameters via &amp;quot;lctl get_param/set_param&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14144&quot;&gt;LU-14144&lt;/a&gt; I couldn&apos;t find any good reason in the code or commit history why &lt;tt&gt;max_mod_rpcs_per_client&lt;/tt&gt; was specifically a module parameter on the server and not a regular sysfs parameter.  There doesn&apos;t appear to be any runtime dependency on this value (i.e. it doesn&apos;t define a static number of slots for the per-client replies or anything), and the only thing it is used for is to pass the limit to the client.  For the same reason, there also doesn&apos;t appear to be a particularly hard limitation why the client cannot change and exceed the server-provided parameter, except to avoid overloading the server with too many RPCs at once, but that may also be true of the current limit with a larger number of clients, no different than &quot;&lt;tt&gt;max_rpcs_in_flight&lt;/tt&gt;&quot;.&lt;/p&gt;

&lt;p&gt;It seems reasonable to add a per-MDT &quot;&lt;tt&gt;max_mod_rpcs_in_flight&lt;/tt&gt;&quot; tunable parameter to &lt;tt&gt;lustre/mdt/mdt_lproc.c&lt;/tt&gt; so that it can be set with &quot;&lt;tt&gt;lctl set_param&lt;/tt&gt;&quot; at runtime, for example like &lt;tt&gt;async_commit_count&lt;/tt&gt;.  The global &lt;tt&gt;max_mod_rpcs_per_client&lt;/tt&gt; parameter should be used as the initial value, and add &quot;&lt;tt&gt;(deprecated)&lt;/tt&gt;&quot; to the module description in &lt;tt&gt;mdt_handler.c&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Mahmoud, the console error message printed when the client limit is reached is &quot;&lt;tt&gt;myth-MDT0000-mdc-ffff979380fc1800: can&apos;t set max_mod_rpcs_in_flight=32 higher than ocd_maxmodrpcs=8 returned by the server at connection&lt;/tt&gt;&quot; but I agree this isn&apos;t totally clear.  Instead of reporting &quot;&lt;tt&gt;ocd_maxmodrpcs&lt;/tt&gt;&quot; (which is an internal field name) it should report the new &quot;&lt;tt&gt;mdt.myth-MDT0000.max_mod_rpcs_in_flight&lt;/tt&gt;&quot; parameter, which would steer the admin to the right location to change this value.  However, in the current implementation it would still be necessary to unmount/remount (or at least force a client reconnection) if this parameter is changed.  &lt;/p&gt;

&lt;p&gt;The main question is whether there is any value for the MDS to &quot;limit&quot; the value that can be set by the client (which is not done for &lt;tt&gt;max_rpcs_in_flight&lt;/tt&gt; or most other parameters) or if the client should be able set this larger than the default value the MDT returned (maybe some upper limit like 4x or 8x the MDT limit)?  That would allow something like &quot;&lt;tt&gt;lctl set_param -P &lt;b&gt;.&lt;/b&gt;.max_mod_rpcs_in_time&lt;/tt&gt;&quot; to affect both the clients and servers.&lt;/p&gt;</comment>
                            <comment id="358599" author="JIRAUSER18431" created="Wed, 11 Jan 2023 14:01:26 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=adilger&quot; class=&quot;user-hover&quot; rel=&quot;adilger&quot;&gt;adilger&lt;/a&gt; Ok, I&apos;ll start working on a solution to this ticket. &lt;br/&gt;
Thanks&lt;/p&gt;</comment>
                            <comment id="360192" author="gerrit" created="Tue, 24 Jan 2023 16:05:12 +0000"  >&lt;p&gt;&quot;Vitaliy Kuznetsov &amp;lt;vkuznetsov@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49749&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49749&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16454&quot; title=&quot;can&amp;#39;t set max_mod_rpcs_in_flight &amp;gt; 8&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16454&quot;&gt;&lt;del&gt;LU-16454&lt;/del&gt;&lt;/a&gt; component: Add a per-MDT &quot;max_mod_rpcs_in_flight&quot;&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 23463fee16abd0821b95129b333c31f354cf8a94&lt;/p&gt;</comment>
                            <comment id="362661" author="gerrit" created="Tue, 14 Feb 2023 06:02:31 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49749/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49749/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16454&quot; title=&quot;can&amp;#39;t set max_mod_rpcs_in_flight &amp;gt; 8&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16454&quot;&gt;&lt;del&gt;LU-16454&lt;/del&gt;&lt;/a&gt; mdt: Add a per-MDT &quot;max_mod_rpcs_in_flight&quot;&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: f16c31ccd91d66caba69d3ceea6a61c1682df59e&lt;/p&gt;</comment>
                            <comment id="362685" author="bzzz" created="Tue, 14 Feb 2023 08:11:19 +0000"  >&lt;p&gt;just got this locally:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
== conf-sanity test 90b: check max_mod_rpcs_in_flight is enforced after update ========================================================== 08:08:05 (1676362085)
start mds service on tmp.8Qi9eBagDy
Loading modules from /mnt/build/lustre/tests/..
detected 2 online CPUs by sysfs
Force libcfs to create 2 CPU partitions
ptlrpc/ptlrpc options: &lt;span class=&quot;code-quote&quot;&gt;&apos;lbug_on_grant_miscount=1&apos;&lt;/span&gt;
gss/krb5 is not supported
quota/lquota options: &lt;span class=&quot;code-quote&quot;&gt;&apos;hash_lqs_cur_bits=3&apos;&lt;/span&gt;
Starting mds1: -o localrecov  lustre-mdt1/mdt1 /mnt/lustre-mds1
Started lustre-MDT0000
start mds service on tmp.8Qi9eBagDy
Starting mds2: -o localrecov  lustre-mdt2/mdt2 /mnt/lustre-mds2
Started lustre-MDT0001
tmp.8Qi9eBagDy: executing wait_import_state_mount FULL mdc.lustre-MDT0000-mdc-*.mds_server_uuid
tmp.8Qi9eBagDy: Reading test skip list from /tmp/ltest.config
tmp.8Qi9eBagDy: EXCEPT=&lt;span class=&quot;code-quote&quot;&gt;&quot;$EXCEPT 32 53 63 102 115 119 123F&quot;&lt;/span&gt;
tmp.8Qi9eBagDy: executing wait_import_state_mount FULL mdc.lustre-MDT0001-mdc-*.mds_server_uuid
tmp.8Qi9eBagDy: Reading test skip list from /tmp/ltest.config
tmp.8Qi9eBagDy: EXCEPT=&lt;span class=&quot;code-quote&quot;&gt;&quot;$EXCEPT 32 53 63 102 115 119 123F&quot;&lt;/span&gt;
start ost1 service on tmp.8Qi9eBagDy
Starting ost1: -o localrecov  lustre-ost1/ost1 /mnt/lustre-ost1
Started lustre-OST0000
tmp.8Qi9eBagDy: executing wait_import_state_mount FULL osc.lustre-OST0000-osc-[-0-9a-f]*.ost_server_uuid
tmp.8Qi9eBagDy: Reading test skip list from /tmp/ltest.config
tmp.8Qi9eBagDy: EXCEPT=&lt;span class=&quot;code-quote&quot;&gt;&quot;$EXCEPT 32 53 63 102 115 119 123F&quot;&lt;/span&gt;
mount lustre  on /mnt/lustre.....
Starting client: tmp.8Qi9eBagDy:  -o user_xattr,flock tmp.8Qi9eBagDy@tcp:/lustre /mnt/lustre
mdc.lustre-MDT0000-mdc-ffff8a7866aad000.max_mod_rpcs_in_flight=1
max_mod_rpcs_in_flight set to 1
creating 2 files ...
fail_loc=0x159
launch 0 chmod in parallel ...
fail_loc=0
launch 1 additional chmod in parallel ...
/mnt/lustre/d90b.conf-sanity1/file-1 has perms 0600 OK
fail_loc=0x159
launch 1 chmod in parallel ...
fail_loc=0
launch 1 additional chmod in parallel ...
/mnt/lustre/d90b.conf-sanity1/file-2 has perms 0644 OK
mdc.lustre-MDT0001-mdc-ffff8a7866aad000.max_mod_rpcs_in_flight=5
max_mod_rpcs_in_flight set to 5
creating 6 files ...
fail_loc=0x159
launch 4 chmod in parallel ...
fail_loc=0
launch 1 additional chmod in parallel ...
/mnt/lustre/d90b.conf-sanity2/file-5 has perms 0600 OK
fail_loc=0x159
launch 5 chmod in parallel ...
fail_loc=0
launch 1 additional chmod in parallel ...
/mnt/lustre/d90b.conf-sanity2/file-6 has perms 0644 OK
mdt_max_mod_rpcs_in_flight is 8 8
umount lustre on /mnt/lustre.....
Stopping client tmp.8Qi9eBagDy /mnt/lustre (opts:)
error: set_param: setting /sys/fs/lustre/mdt/lustre-MDT0000/max_mod_rpcs_in_flight=16: Numerical result out of range
mount lustre  on /mnt/lustre.....
Starting client: tmp.8Qi9eBagDy:  -o user_xattr,flock tmp.8Qi9eBagDy@tcp:/lustre /mnt/lustre
mdc.lustre-MDT0000-mdc-ffff8a784a138000.max_rpcs_in_flight=17
error: set_param: setting /sys/fs/lustre/mdc/lustre-MDT0000-mdc-ffff8a784a138000/max_mod_rpcs_in_flight=16: Numerical result out of range
 conf-sanity test_90b: @@@@@@ FAIL: Unable to set max_mod_rpcs_in_flight to 16 
  Trace dump:
  = ./../tests/test-framework.sh:6549:error()
  = conf-sanity.sh:7139:check_max_mod_rpcs_in_flight()
  = conf-sanity.sh:7291:test_90b()
  = ./../tests/test-framework.sh:6887:run_one()
  = ./../tests/test-framework.sh:6937:run_one_logged()
  = ./../tests/test-framework.sh:6773:run_test()
  = conf-sanity.sh:7299:main()
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="362868" author="JIRAUSER18431" created="Wed, 15 Feb 2023 11:30:59 +0000"  >&lt;p&gt;Minor fix for limit in&#160;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16558&quot; title=&quot;&#1057;an&amp;#39;t set max_mod_rpcs_in_flight &amp;gt; 8 (Default value)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16558&quot;&gt;&lt;del&gt;LU-16558&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10323">
                    <name>Gantt End to End</name>
                                            <outwardlinks description="has to be finished together with">
                                        <issuelink>
            <issuekey id="74687">LU-16558</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="61736">LU-14144</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="59015">LU-13503</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i039d3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

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