<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:52:38 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-12444] Remove ambiguous request flag of no_resend</title>
                <link>https://jira.whamcloud.com/browse/LU-12444</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Two flags of &lt;b&gt;rq_no_delay&lt;/b&gt; and &lt;b&gt;rq_no_resend&lt;/b&gt; might not be necessary. We don&apos;t have precise definitions and uages conditions for them to distinguish them.&lt;/p&gt;

&lt;p&gt;I think &lt;b&gt;rq_no_delay&lt;/b&gt; means the request should quit and return whenever there is any possibility of being blocked, either it is caused by reconnection or other conditions. And &lt;b&gt;rq_no_resend&lt;/b&gt; should always be set when &lt;b&gt;rq_no_delay&lt;/b&gt; is set, which is true in a lot of places but not all. It is not clear why &lt;b&gt;rq_no_resend&lt;/b&gt; is necessary. Even there is a case in which &lt;b&gt;rq_no_delay&lt;/b&gt; is not suitable, a more precise flag or a better mechanism should be used.&lt;/p&gt;</description>
                <environment></environment>
        <key id="55970">LU-12444</key>
            <summary>Remove ambiguous request flag of no_resend</summary>
                <type id="2" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11311&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="lixi_wc">Li Xi</assignee>
                                    <reporter username="lixi_wc">Li Xi</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Jun 2019 12:42:01 +0000</created>
                <updated>Mon, 17 Jun 2019 14:12:18 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="249381" author="gerrit" created="Mon, 17 Jun 2019 12:47:41 +0000"  >&lt;p&gt;Li Xi (lixi@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/35244&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35244&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12444&quot; title=&quot;Remove ambiguous request flag of no_resend&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12444&quot;&gt;LU-12444&lt;/a&gt; ptlrpc: remove no_resend flag&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 8ecd22a39c25365d54b7febb1a2b5eef7e3ccae9&lt;/p&gt;</comment>
                            <comment id="249382" author="pfarrell" created="Mon, 17 Jun 2019 12:58:13 +0000"  >&lt;p&gt;Li Xi,&lt;/p&gt;

&lt;p&gt;Thank you very much for diving in and trying this...&lt;/p&gt;</comment>
                            <comment id="249386" author="adilger" created="Mon, 17 Jun 2019 13:34:32 +0000"  >&lt;p&gt;IMHO, no_resend has a clear meaning - the RPC may be queued on the client, but it gets one chance to be sent and if it times out there is no reason to resend it.  I don&apos;t think this is the same as &quot;never&quot; blocking an RPC for no_delay.  What constitutes &quot;blocking&quot;?  Local memory allocation, queue delay in the network, other?&lt;/p&gt;</comment>
                            <comment id="249389" author="lixi_wc" created="Mon, 17 Jun 2019 14:10:38 +0000"  >&lt;p&gt;OK. Then &quot;blocking&quot; needs more detailed definition. But I think the use case of no_delay seems clear: quit whenever it hits problem/failure when trying to proceed, or seeing high possibility of problem/failure if proceed. So, if memory allocation failure, yes, no_delay request would quit. And if the request handler foresees high possibility of slow memory allocation or failure of memory allocation, no_delay request would quit too.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt; no_resend has a clear meaning - the RPC may be queued on the client, but it gets one chance to be sent and if it times out there is no reason to resend it.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This sounds like part of no_delay&apos;s functionality. I am wondering whether there is any possibility to re-use no_delay for (most of) the cases when no_resend is used. And I know there might be some cases when rq_no_delay is not suitable or not enough. And my attemption here is to check what these cases are. &quot;req-&amp;gt;rq_no_resend = req-&amp;gt;rq_no_delay = 1&quot; is written in a lot of places. So, I feel this might simplify the logic in general.&lt;/p&gt;

&lt;p&gt;At least, even cleaning up rq_no_resend is too complex to come true, we still need a patch adding some comments to explicitly explain the difference between these two flags to avoid future confusion.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="55833">LU-12378</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|i00ibz:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>