<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:48:22 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-11951] sanity: test_231a failure, idle disconnect &amp; import generation disagreement</title>
                <link>https://jira.whamcloud.com/browse/LU-11951</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;These observations are drawn from this test failure/logs (master + a few unrelated patches):&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://testing.whamcloud.com/test_sets/7ed37e66-2b3a-11e9-90fb-52540065bddc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.whamcloud.com/test_sets/7ed37e66-2b3a-11e9-90fb-52540065bddc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;sanity 231a.&lt;/p&gt;

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

&lt;p&gt;dd fails for no particular reason in the middle of a pretty innocuous test.&lt;/p&gt;

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

&lt;p&gt;A disconnect/idle request is sent:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;00000100:00100000:0.0:1549584426.013412:0:3658:0:(client.c:1631:ptlrpc_send_new_req()) Sending RPC pname:cluuid:pid:xid:nid:opc ptlrpcd_rcv:6a3d5a57-20e1-3c31-d0be-69db5e11ff93:3658:1624855787560768:10.9.5.221@tcp:9&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;It has not completed yet.&lt;/p&gt;

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

&lt;p&gt;A lock request is made:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 00010000:00010000:1.0:1549584426.079672:0:25756:0:(ldlm_request.c:1019:ldlm_cli_enqueue()) ### sending request ns: lustre-OST0006-osc-ffff8853e612d000 lock: ffff8853c1acd200/0x600e7a448b87755c lrc: 3/0,1 mode: -/PW res: [0x75c0:0x0:0x0].0x0 rrc: 2 type: EXT [0-&amp;gt;4194303] (req 0&amp;gt;4194303) flags: 0x0 nid: local remote: 0x0 expref: -99 pid: 25756 timeout: 0 lvb_type: 1
00000100:00080000:1.0:1549584426.079679:0:25756:0:(client.c:1575:ptlrpc_send_new_req()) @@@ req waiting for recovery: (FULL != CONNECTING)&#160; req@ffff8853e63e3a80&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;The disconnect comes back:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 00000100:00080000:0.0:1549584426.491344:0:3658:0:(import.c:1677:ptlrpc_disconnect_idle_interpret()) @@@ inflight=2, refcount=6: rc = 0
&#160; req@ffff8853e63e2400 x1624855787560768/t0(0) o9-&amp;gt;lustre-OST0006-osc-ffff8853e612d000@10.9.5.221@tcp:28/4 lens 224/192 e 0 to 0 dl 1549584432 ref 1 fl Interpret:RN/0/0 rc 0/0&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;It notices a request has happened and reconnects immediately:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 00000100:00080000:0.0:1549584426.491350:0:3658:0:(import.c:1693:ptlrpc_disconnect_idle_interpret()) ffff8853fbff1800 lustre-OST0006_UUID: changing import state from IDLE to NEW
00000100:00080000:0.0:1549584426.491361:0:3658:0:(import.c:683:ptlrpc_connect_import()) ffff8853fbff1800 lustre-OST0006_UUID: changing import state from NEW to CONNECTING&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;The delayed lock request is rejected for import generation difference:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 00000100:00080000:0.0:1549584426.491919:0:3658:0:(recover.c:223:ptlrpc_wake_delayed()) @@@ waking (set ffff88538df3fc80):&#160; req@ffff8853e63e3a80 x1624855787560912/t0(0) o101-&amp;gt;lustre-OST0006-osc-ffff8853e612d000@10.9.5.221@tcp:28/4 lens 328/400 e 0 to 0 dl 0 ref 2 fl Rpc:W/0/ffffffff rc 0/-1
00000100:00100000:0.0:1549584426.491929:0:3658:0:(client.c:2061:ptlrpc_check_set()) Completed RPC pname:cluuid:pid:xid:nid:opc ptlrpcd_rcv:6a3d5a57-20e1-3c31-d0be-69db5e11ff93:3658:1624855787560928:10.9.5.221@tcp:8
00000100:00020000:1.0:1549584426.491944:0:25756:0:(client.c:1193:ptlrpc_import_delay_req()) @@@ req wrong generation:&#160; req@ffff8853e63e3a80 x1624855787560912/t0(0) o101-&amp;gt;lustre-OST0006-osc-ffff8853e612d000@10.9.5.221@tcp:28/4 lens 328/400 e 0 to 0 dl 0 ref 2 fl Rpc:W/0/ffffffff rc 0/-1
00000100:00100000:1.0:1549584426.496060:0:25756:0:(client.c:2061:ptlrpc_check_set()) Completed RPC pname:cluuid:pid:xid:nid:opc dd:6a3d5a57-20e1-3c31-d0be-69db5e11ff93:25756:1624855787560912:10.9.5.221@tcp:101
00010000:00010000:1.0:1549584426.496066:0:25756:0:(ldlm_request.c:592:ldlm_cli_enqueue_fini()) ### client-side enqueue END (FAILED) ns: lustre-OST0006-osc-ffff8853e612d000 lock: ffff8853c1acd200/0x600e7a448b87755c lrc: 4/0,1 mode: -/PW res: [0x75c0:0x0:0x0].0x0 rrc: 2 type: EXT [0-&amp;gt;4194303] (req 0&amp;gt;4194303) flags: 0x0 nid: local remote: 0x0 expref: -99 pid: 25756 timeout: 0 lvb_type: 1&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;Here&apos;s the problem.&lt;/p&gt;

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

&lt;p&gt;ptlrpc_request_alloc_internal uses IMP_IDLE as a way to tell if it should start a new connection:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;  &#160; &#160; if (unlikely(imp-&amp;gt;imp_state == LUSTRE_IMP_IDLE)) {&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/p&gt;

&lt;p&gt;And increment the generation number as part of that:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (imp-&amp;gt;imp_state == LUSTRE_IMP_IDLE) {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imp-&amp;gt;imp_generation++;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imp-&amp;gt;imp_initiated_at = imp-&amp;gt;imp_generation;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imp-&amp;gt;imp_state =&#160; LUSTRE_IMP_NEW;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; connect = 1;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;After this, the request generation in the request is set to match that of the import.&#160; So if this doesn&apos;t happen, the existing import generation is stored in the request.&lt;/p&gt;

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

&lt;p&gt;However, the idle code (ptlrpc_disconnect_prep_req) sets the import state to connecting:&lt;/p&gt;

&lt;p&gt;IMPORT_SET_STATE(imp, LUSTRE_IMP_CONNECTING);&lt;/p&gt;

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

&lt;p&gt;Then sends the request.&#160; And only sets IMP_IDLE only once the import is fully idle, in&lt;/p&gt;

&lt;p&gt;ptlrpc_disconnect_idle_interpret:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; /* DISCONNECT reply can be late and another connection can just
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * be initiated. so we have to abort disconnection. */
&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (req-&amp;gt;rq_import_generation == imp-&amp;gt;imp_generation &amp;amp;&amp;amp;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imp-&amp;gt;imp_state != LUSTRE_IMP_CLOSED) {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; LASSERTF(imp-&amp;gt;imp_state == LUSTRE_IMP_CONNECTING,
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;%s\n&quot;, ptlrpc_import_state_name(imp-&amp;gt;imp_state));
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imp-&amp;gt;imp_state = LUSTRE_IMP_IDLE;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;So the request_alloc_internal doesn&apos;t notice the import is in the process of disconnecting, so it does not start the reconnect early, as intended.&lt;/p&gt;

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

&lt;p&gt;But we increment the generation in disconnect_idle_interpret:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (atomic_read(&amp;amp;imp-&amp;gt;imp_inflight) &amp;gt; 1) {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imp-&amp;gt;imp_generation++;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imp-&amp;gt;imp_initiated_at = imp-&amp;gt;imp_generation;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; IMPORT_SET_STATE_NOLOCK(imp, LUSTRE_IMP_NEW);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; connect = 1;&quot;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I am not really sure of the correct handling of import generation overall.&#160; My first instinct is that we should not increment it in this case, as we connect immediately...&lt;/p&gt;

&lt;p&gt;But perhaps that&apos;s incorrect as well.&#160; I&apos;m hoping that Alex will take a look at this. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="54837">LU-11951</key>
            <summary>sanity: test_231a failure, idle disconnect &amp; import generation disagreement</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="bzzz">Alex Zhuravlev</assignee>
                                    <reporter username="pfarrell">Patrick Farrell</reporter>
                        <labels>
                    </labels>
                <created>Fri, 8 Feb 2019 23:40:23 +0000</created>
                <updated>Tue, 19 Dec 2023 14:28:51 +0000</updated>
                            <resolved>Wed, 27 Feb 2019 05:41:14 +0000</resolved>
                                    <version>Lustre 2.13.0</version>
                                    <fixVersion>Lustre 2.13.0</fixVersion>
                    <fixVersion>Lustre 2.12.1</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="241643" author="pfarrell" created="Fri, 8 Feb 2019 23:43:30 +0000"  >&lt;p&gt;I note also:&lt;br/&gt;
The use of imp_lock for checking and setting the import state is &lt;b&gt;very&lt;/b&gt; inconsistent.&#160; In at least ptlrpc_request_alloc_internal, I think this could also cause a similar bug to the one I just noted.&lt;/p&gt;</comment>
                            <comment id="241644" author="simmonsja" created="Fri, 8 Feb 2019 23:54:02 +0000"  >&lt;p&gt;I had this discussion some time ago with Oleg. Their are many places imp_lock is not taken. For the case of&#160;&#160;imp_generation I suggested we make it a atomic since it appears to be the most access item. I have a patch already. Interested?&lt;/p&gt;</comment>
                            <comment id="241653" author="bzzz" created="Sat, 9 Feb 2019 04:05:53 +0000"  >&lt;p&gt;thanks for the analysis. checking the details..&lt;/p&gt;</comment>
                            <comment id="241666" author="pfarrell" created="Sun, 10 Feb 2019 16:09:27 +0000"  >&lt;p&gt;James,&lt;/p&gt;

&lt;p&gt;Making imp_gen an atomic won&apos;t work.&#160; imp_gen is used to reflect that the import state has cycled, so changes of imp_gen and import state need to be atomic &lt;b&gt;together&lt;/b&gt;.&#160; So an atomic for import gen isn&apos;t enough, we locking so we can change them together.&#160; (And we have that locking, it&apos;s just not used everywhere.)&lt;/p&gt;</comment>
                            <comment id="241696" author="bzzz" created="Mon, 11 Feb 2019 09:57:58 +0000"  >&lt;p&gt;I think I&apos;ve got quite reliable reproducer.&lt;/p&gt;</comment>
                            <comment id="241697" author="gerrit" created="Mon, 11 Feb 2019 11:30:44 +0000"  >&lt;p&gt;Alex Zhuravlev (bzzz@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34221&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34221&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11951&quot; title=&quot;sanity: test_231a failure, idle disconnect &amp;amp; import generation disagreement&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11951&quot;&gt;&lt;del&gt;LU-11951&lt;/del&gt;&lt;/a&gt; ptlrpc: reset generation for old requests&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: d5de95f1439ff51411f4f40dea4d8f5bdc61ab14&lt;/p&gt;</comment>
                            <comment id="241698" author="bzzz" created="Mon, 11 Feb 2019 11:32:21 +0000"  >&lt;p&gt;the patch above should fix the issue, though I&apos;m still thinking of more elegant solution.&lt;/p&gt;</comment>
                            <comment id="241908" author="pfarrell" created="Wed, 13 Feb 2019 20:15:42 +0000"  >&lt;p&gt;Huh.&lt;/p&gt;

&lt;p&gt;Same issue caused test_0 in sanity-pfl to fail: &lt;a href=&quot;https://testing.whamcloud.com/test_sets/62cb3e5c-2e55-11e9-be61-52540065bddc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.whamcloud.com/test_sets/62cb3e5c-2e55-11e9-be61-52540065bddc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some timing thing must have changed or something, this is hitting a bunch.&lt;br/&gt;
(&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11958&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.whamcloud.com/browse/LU-11958&lt;/a&gt;&#160;is this as well)&lt;/p&gt;</comment>
                            <comment id="242904" author="gerrit" created="Wed, 27 Feb 2019 02:03:31 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/34221/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34221/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11951&quot; title=&quot;sanity: test_231a failure, idle disconnect &amp;amp; import generation disagreement&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11951&quot;&gt;&lt;del&gt;LU-11951&lt;/del&gt;&lt;/a&gt; ptlrpc: reset generation for old requests&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 42d8cb04637b62d91deb9ef047f1d9ef8473eca6&lt;/p&gt;</comment>
                            <comment id="242930" author="pjones" created="Wed, 27 Feb 2019 05:41:14 +0000"  >&lt;p&gt;Landed for 2.13&lt;/p&gt;</comment>
                            <comment id="244063" author="gerrit" created="Sat, 16 Mar 2019 08:47:59 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34435&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34435&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11951&quot; title=&quot;sanity: test_231a failure, idle disconnect &amp;amp; import generation disagreement&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11951&quot;&gt;&lt;del&gt;LU-11951&lt;/del&gt;&lt;/a&gt; ptlrpc: reset generation for old requests&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 667d1bd495eadf210075673443780313efed864d&lt;/p&gt;</comment>
                            <comment id="245772" author="gerrit" created="Mon, 15 Apr 2019 16:15:45 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/34435/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34435/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11951&quot; title=&quot;sanity: test_231a failure, idle disconnect &amp;amp; import generation disagreement&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11951&quot;&gt;&lt;del&gt;LU-11951&lt;/del&gt;&lt;/a&gt; ptlrpc: reset generation for old requests&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 78ddbc595302af9ec7b4512148990571e217fe64&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="54918">LU-11976</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="54862">LU-11958</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="54869">LU-11964</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="53701">LU-11559</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|i00bcn:</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>