<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:17:45 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-1565] lost LDLM_CANCEL RPCs</title>
                <link>https://jira.whamcloud.com/browse/LU-1565</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;this is the 2nd part of the issue described in the &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1239&quot; title=&quot;cascading client evictions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1239&quot;&gt;&lt;del&gt;LU-1239&lt;/del&gt;&lt;/a&gt;, LDLM_CANCEL will not be resend after reconnect because cancels are always marked as no_resend &amp;amp; no_delay. the case is precisely: rpc timeout, re-connect, cancel rpc resend.&lt;/p&gt;

&lt;p&gt;I believe it is enough to just drop these no_resend and no_delay flags on LDLM_CANCEL rpc.&lt;br/&gt;
regarding the target case: rpc timeout, re-connect, cancel resend - it works as expected.&lt;/p&gt;

&lt;p&gt;let&apos;s look through the recovery scenarios:&lt;/p&gt;

&lt;p&gt;1. cancel is sent and reply is obtained, recovery starts: no enqueue no cancel is replayed.&lt;br/&gt;
2. cancel is sent, no reply, recovery starts, see replay_one_lock():&lt;br/&gt;
if (lock-&amp;gt;l_flags &amp;amp; LDLM_FL_CANCELING) &lt;/p&gt;
{ LDLM_DEBUG(lock, &quot;Not replaying canceled lock:&quot;); RETURN(0); }
&lt;p&gt;CANCELLING is already in progress, so no enqueue no cancel are replayed again.&lt;br/&gt;
3. lock is enqueued, recovery starts, cancel is created after lock enqueue is replayed,&lt;br/&gt;
but is not sent until the recovery ends, precisely:&lt;/p&gt;

&lt;p&gt;BL AST is sent to client from the server&lt;br/&gt;
recovery starts&lt;br/&gt;
lock enqueue is replayed&lt;br/&gt;
BL AST comes to client, CANCEL rpc is created&lt;br/&gt;
recovery ends&lt;br/&gt;
CANCEL is sent&lt;br/&gt;
as CANCEL is not replayed, it does not break the recovery, it will be a new rpc.&lt;br/&gt;
however, as lock handle has changed, ESTALE will be returned as there is no such&lt;br/&gt;
lock on the server side.&lt;br/&gt;
this case is not covered by the current fix, it will still result in lock callback timeout&lt;br/&gt;
(waiting_locks_callback()) and the following client eviction. however, the race window&lt;br/&gt;
is very narrow comparing with the main resend case being fixed here - so it is just left&lt;br/&gt;
unfix for now.&lt;/p&gt;

&lt;p&gt;4. lock is enqueued, recovery starts, lock enqueue is replayed and lock handled is updated,&lt;br/&gt;
cancel is created - it already contains a new lock handle.&lt;/p&gt;

&lt;p&gt;5. all the cases when cancel is created even later are the same as (4).&lt;/p&gt;</description>
                <environment></environment>
        <key id="15040">LU-1565</key>
            <summary>lost LDLM_CANCEL RPCs</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="keith">Keith Mannthey</assignee>
                                    <reporter username="vitaly_fertman">Vitaly Fertman</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Tue, 26 Jun 2012 09:50:59 +0000</created>
                <updated>Tue, 17 Mar 2015 17:54:32 +0000</updated>
                            <resolved>Wed, 20 Mar 2013 18:38:10 +0000</resolved>
                                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="41138" author="vitaly_fertman" created="Tue, 26 Jun 2012 10:21:23 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/3188&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/3188&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/3189&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/3189&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="43204" author="spitzcor" created="Tue, 14 Aug 2012 12:34:06 +0000"  >&lt;p&gt;FYI: Besides &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1239&quot; title=&quot;cascading client evictions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1239&quot;&gt;&lt;del&gt;LU-1239&lt;/del&gt;&lt;/a&gt;, these recovery scenarios are also tracked in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-793&quot; title=&quot;Reconnections should not be refused when there is a request in progress from this client.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-793&quot;&gt;&lt;del&gt;LU-793&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7&quot; title=&quot;Reconnect server-&amp;gt;client connection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7&quot;&gt;&lt;del&gt;LU-7&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="45976" author="vitaly_fertman" created="Thu, 4 Oct 2012 06:56:42 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/3188&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/3188&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/3189&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/3189&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/4181&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/4181&lt;/a&gt; - another fix is submitted, to avoid occupying all the blocking threads on client, make them asynchronous where possible.&lt;/p&gt;</comment>
                            <comment id="48223" author="nrutman" created="Wed, 21 Nov 2012 17:30:54 +0000"  >&lt;p&gt;Xyratex-bug-id: &lt;a href=&quot;http://jira-nss.xy01.xyratex.com:8080/browse/MRP-477&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;MRP-477&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="54495" author="pjones" created="Wed, 20 Mar 2013 18:38:10 +0000"  >&lt;p&gt;Landed for 2.4&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="10080">LU-7</issuekey>
        </issuelink>
                            </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|hzvlrb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7300</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>