<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:32:34 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-10158] FLR: Define a replica choosing policy function</title>
                <link>https://jira.whamcloud.com/browse/LU-10158</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;For a mirrored file, when it is written at the first time, the policy to pick a replica as primary is primitive in current implementation, either it just chooses the first replica or a random one. A policy function should be defined for replica choosing. At least it should avoid the replicas with unavailable OSTs at this stage.&lt;/p&gt;</description>
                <environment></environment>
        <key id="48931">LU-10158</key>
            <summary>FLR: Define a replica choosing policy function</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="bobijam">Zhenyu Xu</assignee>
                                    <reporter username="jay">Jinshan Xiong</reporter>
                        <labels>
                            <label>FLR2</label>
                    </labels>
                <created>Wed, 25 Oct 2017 00:31:44 +0000</created>
                <updated>Thu, 19 May 2022 09:08:32 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="211902" author="jay" created="Wed, 25 Oct 2017 00:33:00 +0000"  >&lt;p&gt;This should be implemented in phase 2 of FLR.&lt;/p&gt;</comment>
                            <comment id="211912" author="adilger" created="Wed, 25 Oct 2017 03:28:01 +0000"  >&lt;p&gt;Some thoughts on read policy, decided by the clients:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;any replica marked &lt;tt&gt;LCME_FL_STALE&lt;/tt&gt; should be avoided&lt;/li&gt;
	&lt;li&gt;any replica marked &lt;tt&gt;LCME_FL_PREF_RD&lt;/tt&gt; should be selected first&lt;/li&gt;
	&lt;li&gt;reads from OSTs marked &lt;tt&gt;OS_STATE_NONROT&lt;/tt&gt; should be preferred (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14996&quot; title=&quot;select preferred mirror using non-rotational status&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14996&quot;&gt;&lt;del&gt;LU-14996&lt;/del&gt;&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;reads from the local NID and/or local LNet network should be preferred&lt;/li&gt;
	&lt;li&gt;reads from OSTs with higher performance/lower load should be preferred (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7880&quot; title=&quot;add performance statistics to obd_statfs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7880&quot;&gt;LU-7880&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;it is desirable to maximize re-use of page cache on the OST, so small files should deterministically pick the same replica (eg. first one)&lt;/li&gt;
	&lt;li&gt;it is desirable to spread the cache for large files across OSTs to share the RAM and network bandwidth, so clients should deterministically round-robin reads for large files across replicas (e.g. every 1GB)&lt;/li&gt;
	&lt;li&gt;if there are a large number of equivalent replicas of a file (eg. more than 3?), clients should deterministically evenly distribute their selection of the mirror by e.g. their client NID modulo mirror count (e.g. see patch &lt;a href=&quot;https://review.whamcloud.com/29136&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/29136&lt;/a&gt; &lt;tt&gt;lmv_select_statfs_mdt()&lt;/tt&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For selection of which mirror to use for writes, decided by the MDS:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;any mirror marked  &lt;tt&gt;LCME_FL_STALE&lt;/tt&gt; must be avoided&lt;/li&gt;
	&lt;li&gt;any replica(s) marked &lt;tt&gt;LCME_FL_PREF_WR&lt;/tt&gt; should be selected first&lt;/li&gt;
	&lt;li&gt;replicas on flash OSTs (&lt;tt&gt;OS_STATFS_NONROT&lt;/tt&gt;) should be preferred&lt;/li&gt;
	&lt;li&gt;prefer OSTs that are close network-wise to the client (same LNet network, in case of local/remote mirrors)&lt;/li&gt;
	&lt;li&gt;writes to OSTs with higher performance/lower load should be preferred (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7880&quot; title=&quot;add performance statistics to obd_statfs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7880&quot;&gt;LU-7880&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;&lt;del&gt;currently it is not totally safe for writes to the local NID (until we get a &quot;no recovery sync write export&quot; for local clients), so a remote OST should typically be used&lt;/del&gt; (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12722&quot; title=&quot;exclude local client mounted on MDS/OSS from recovery&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12722&quot;&gt;&lt;del&gt;LU-12722&lt;/del&gt;&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;allow specifying a &quot;domain&quot; number for each OST (e.g. rack, PSU, network switch), and avoid allocating replicas from the same domain. &quot;domain&quot; is just an arbitrary integer assigned by the admin to indicate groups of OSTs that share a common point of failure&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="216726" author="jgmitter" created="Tue, 19 Dec 2017 16:14:24 +0000"  >&lt;p&gt;Converted to an issue as it is not a subtask for phase 1 of FLR (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9771&quot; title=&quot;FLR1: Landing tickets for File Level Redundancy Phase 1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9771&quot;&gt;&lt;del&gt;LU-9771&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="70207">LU-15834</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="35343">LU-7880</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="54868">LU-11963</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="56812">LU-12722</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="65974">LU-14996</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="56621">LU-12649</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="50021">LU-10448</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="42940">LU-9007</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|hzzmef:</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>