<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:37:05 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-10661] Persistent open counter</title>
                <link>https://jira.whamcloud.com/browse/LU-10661</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In current FLR implementation, in order to resync a stale component, client has to find and copy all data covering by the extent of this component. If the mirrored file is large and stale component has very wide extent, it would cause significant amount of data move even though only a tiny region was written.&lt;/p&gt;

&lt;p&gt;It would be good if clients could report the region they have written in the last close RPC. The written extents wouldn&apos;t be accurate, instead they just give a rough idea about which regions of the file have been changed. The client should be able to merge and alter writing extent so that the extents sent to the MDT would be limited to a small number, for example, the MDT could allow up to 4 items of extent to be sent by close RPC.&lt;/p&gt;

&lt;p&gt;There is a problem for evicted clients because they could no longer send writing extents. The MDT needs to know this situation and then safely fall back to full component resync. Consistent open counter is proposed to solve this problem.&lt;/p&gt;

&lt;p&gt;With consistent open counters, the MDT will write the files that have opened into a persistent storage. If the file with persistent open counter is closed successfully, the counters should reach zero at last. If there exists evicted clients opening this file, then the MDT will know it because there is no open handlers for this file in memory, but persistent counter is greater than zero.&lt;/p&gt;

&lt;p&gt;Maintaining open counters has huge overhead because now open will always produce a sync transaction. This can be optimized. When the MDT receives the first write intent RPC to modify a mirrored file, it will enable persistent open counter for this particular file. From that time on, all openers to this file will have to bear with a sync trans.&lt;/p&gt;</description>
                <environment></environment>
        <key id="50762">LU-10661</key>
            <summary>Persistent open counter</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="wc-triage">WC Triage</assignee>
                                    <reporter username="jay">Jinshan Xiong</reporter>
                        <labels>
                            <label>FLR2</label>
                    </labels>
                <created>Mon, 12 Feb 2018 19:53:47 +0000</created>
                <updated>Wed, 16 May 2018 02:35:27 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                    <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|hzzsrj:</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>