<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:07:52 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-7319] OUT: continue updates processing upon an error</title>
                <link>https://jira.whamcloud.com/browse/LU-7319</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;in some cases it would be useful to continue updates processing even if some of updates fail. for example, when MDT synchronizes with OST it needs to send a batch of attr_set/destroy updates, up to few thousands in a single RPC. it doesn&apos;t make sense to send another batch if some of destroy failed (say, with -ENOENT).&lt;/p&gt;</description>
                <environment></environment>
        <key id="32729">LU-7319</key>
            <summary>OUT: continue updates processing upon an error</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</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="bzzz">Alex Zhuravlev</assignee>
                                    <reporter username="bzzz">Alex Zhuravlev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Oct 2015 14:01:03 +0000</created>
                <updated>Thu, 23 Dec 2021 12:07:34 +0000</updated>
                                            <version>Lustre 2.8.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                            <comments>
                            <comment id="130868" author="bzzz" created="Tue, 20 Oct 2015 14:12:42 +0000"  >&lt;p&gt;the major problem here is how to reconstruct. say, we&apos;ve got an RPC with 3 transactions (1 update in each for simplicity). we&apos;ve executed 2 transactions, then crashed. ideally, during recovery we&apos;d like to skip those 2 transactions, execute missing one and reconstruct the reply with appropriate result codes. but we don&apos;t have enough space to store all codes in a last_rcvd&apos;s slot. I think there are obvious options here:&lt;br/&gt;
1) OUT to store result codes in an own object &lt;br/&gt;
2) stop execution upon an error and store XID/batchid in a last_rcvd&apos;s slot &amp;#8211; essentially never proceed execution upon an error and force the initiator to resubmit remaining part. this in turn can result in a silly sequence of huge requests returning an error after every executed update (say, MDT wants to synchronize OST object destroys, but they have been destroyed already).&lt;br/&gt;
3) apply this logic only to idempotent updates, so we&apos;re able to execute again instead of reconstruction&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10120">
                    <name>Blocker</name>
                                            <outwardlinks description="is blocking">
                                        <issuelink>
            <issuekey id="21877">LU-4215</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="55661">LU-12310</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|hzxqw7:</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>