<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:13:32 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-14876] OUT: possible concurrent execution of UPDATE request and its resent</title>
                <link>https://jira.whamcloud.com/browse/LU-14876</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;There is possible LBUG() in &lt;tt&gt;out_reconstruct()&lt;/tt&gt;:&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;
lustre_update.h:246:object_update_result_insert()) LBUG
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Bug happened because export &lt;tt&gt;lcd_last_xid&lt;/tt&gt; became the same as request &lt;tt&gt;rq_xid&lt;/tt&gt; in the middle of OUT UPDATE resent processing.&lt;/p&gt;

&lt;p&gt;1. The first update with index 0 was not equal to &lt;tt&gt;lcd_last_xid&lt;/tt&gt; and was added as normal update to be processed.&lt;br/&gt;
 2. The second update, index 1, finds that &lt;tt&gt;lcd_last_xid&lt;/tt&gt; is the same and entered &lt;tt&gt;out_reconstruct()&lt;/tt&gt; first time. In the &lt;tt&gt;object_update_result_get()&lt;/tt&gt; it finds that there is no &lt;tt&gt;ourp_lens&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;/tt&gt; for previous index 0 and returned &lt;tt&gt;NULL&lt;/tt&gt; as result causing assertion.&lt;/p&gt;

&lt;p&gt;I am pretty sure about sequence and log messages confirm that. This revealed at least two issues with OUT UPDATE resent handling.&lt;/p&gt;

&lt;p&gt;1. &lt;tt&gt;req_xid_is_last()&lt;/tt&gt; check shouldn&apos;t be done for each update, this is always the same request with the same XID, so it is either last or not and that should be checked only once prior updates processing.&#160;&lt;/p&gt;

&lt;p&gt;2. In step #2 of scenario the &lt;tt&gt;lcd_last_xid&lt;/tt&gt; was changed and became the same as request&apos;s one. This is the real problem and means that original request was processing while resent also starts processing. For ordinary clients this is prevented by checking &lt;tt&gt;exp_rpc_count&lt;/tt&gt; in &lt;tt&gt;target_handle_connec()&lt;/tt&gt; but for MDS-MDS re-connection it is flawed somewhere it seems.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="65329">LU-14876</key>
            <summary>OUT: possible concurrent execution of UPDATE request and its resent</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="tappro">Mikhail Pershin</assignee>
                                    <reporter username="tappro">Mikhail Pershin</reporter>
                        <labels>
                    </labels>
                <created>Wed, 21 Jul 2021 15:42:24 +0000</created>
                <updated>Thu, 10 Mar 2022 04:33:36 +0000</updated>
                            <resolved>Wed, 18 Aug 2021 12:41:51 +0000</resolved>
                                    <version>Lustre 2.12.7</version>
                    <version>Lustre 2.15.0</version>
                                    <fixVersion>Lustre 2.12.8</fixVersion>
                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="307956" author="gerrit" created="Wed, 21 Jul 2021 16:08:43 +0000"  >&lt;p&gt;Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/44362&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/44362&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14876&quot; title=&quot;OUT: possible concurrent execution of UPDATE request and its resent&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14876&quot;&gt;&lt;del&gt;LU-14876&lt;/del&gt;&lt;/a&gt; out: improved check and debug for OUT resent&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 27f1605e00f75a913bd072b0b3def17d79394fb0&lt;/p&gt;</comment>
                            <comment id="308090" author="tappro" created="Thu, 22 Jul 2021 09:49:37 +0000"  >&lt;p&gt;As I assumed&#160; in description, there is flaw in &lt;tt&gt;target_handle_connect()&lt;/tt&gt; allowing concurrent execution of original request and its resent on server.&#160; I am preparing patch for this.&lt;/p&gt;</comment>
                            <comment id="308181" author="gerrit" created="Fri, 23 Jul 2021 07:02:56 +0000"  >&lt;p&gt;Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/44390&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/44390&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14876&quot; title=&quot;OUT: possible concurrent execution of UPDATE request and its resent&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14876&quot;&gt;&lt;del&gt;LU-14876&lt;/del&gt;&lt;/a&gt; out: don&apos;t connect to busy MDS-MDS export&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: a15ae51e5df962726bb5b2b801b1ae26e8c918f1&lt;/p&gt;</comment>
                            <comment id="310502" author="gerrit" created="Wed, 18 Aug 2021 01:57:43 +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/44390/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/44390/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14876&quot; title=&quot;OUT: possible concurrent execution of UPDATE request and its resent&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14876&quot;&gt;&lt;del&gt;LU-14876&lt;/del&gt;&lt;/a&gt; out: don&apos;t connect to busy MDS-MDS export&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 301d76a71176c186129231ddd1323bae21100165&lt;/p&gt;</comment>
                            <comment id="310548" author="pjones" created="Wed, 18 Aug 2021 12:41:52 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                            <comment id="312658" author="gerrit" created="Mon, 13 Sep 2021 20:09:12 +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/44362/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/44362/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14876&quot; title=&quot;OUT: possible concurrent execution of UPDATE request and its resent&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14876&quot;&gt;&lt;del&gt;LU-14876&lt;/del&gt;&lt;/a&gt; out: don&apos;t connect to busy MDS-MDS export&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 67a24ac97553b684195d210b0db1d5bfad0fa5d7&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </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|i01ztz:</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>