<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:35:25 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-17434] DNE3: add exclude list for remote subdirectory creation</title>
                <link>https://jira.whamcloud.com/browse/LU-17434</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In some cases, subdirectories created in a directory with &quot;&lt;tt&gt;--max-inherit-rr&lt;/tt&gt;&quot; and/or DNE3 MDT space balance enabled (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11213&quot; title=&quot;DNE3: remote mkdir() in ROOT/ by default&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11213&quot;&gt;&lt;del&gt;LU-11213&lt;/del&gt;&lt;/a&gt;) should &lt;b&gt;not&lt;/b&gt; be created on a remote MDT, but instead still be created on the local MDT.&lt;/p&gt;

&lt;p&gt;This was seen recently with Apache Spark creating a &lt;a href=&quot;https://stackoverflow.com/questions/46882683/spark-temporary-creation-reason&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;_temporary&lt;/tt&gt;&lt;/a&gt; subdirectory for staging files while they are being transferred between clients (for filesystems that don&apos;t have coherent distributed IO). The files are then renamed out of &lt;tt&gt;_temporary&lt;/tt&gt; and into the parent directory. Rename can cause high overhead and contention if the parent and &lt;tt&gt;_temporary&lt;/tt&gt; directories are on different MDTs because parallel rename (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12125&quot; title=&quot;Allow parallel rename of regular files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12125&quot;&gt;&lt;del&gt;LU-12125&lt;/del&gt;&lt;/a&gt;) cannot be used. Locking improvements are proposed in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17426&quot; title=&quot;parallel cross-directory rename of regular files on single MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17426&quot;&gt;LU-17426&lt;/a&gt; that would allow parallel rename between directories on the same MDT, but something is needed to ensure the directories actually &lt;b&gt;are&lt;/b&gt; on the same MDT.&lt;/p&gt;

&lt;p&gt;It should be possible to specify a list of names that the LMV ignores when creating a subdirectory of a parent with round-robin or space balancing enabled. Hard coding the &lt;tt&gt;_temporary&lt;/tt&gt; name into the client is inflexible, since there may be a need for other similar directories to avoid in the future, and there may be a need to disable this functionality for some reason. Also, the &lt;a href=&quot;https://issues.apache.org/jira/browse/MAPREDUCE-7331&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;MAPREDUCE-7331&lt;/a&gt; ticket proposes to allow &lt;tt&gt;_temporary&lt;/tt&gt; to be changed in the future, though hopefully it is still something deterministic (e.g. &quot;&lt;tt&gt;_temporary.XXXXXX&lt;/tt&gt;&quot;).&lt;/p&gt;

&lt;p&gt;The exclude list for subdirectory name prefixes can be specified via &quot;&lt;tt&gt;lctl set_param &amp;#45;P lmv.&lt;em&gt;FSNAME&lt;/em&gt;*.qos_exclude_prefixes-&lt;/tt&gt;&quot;. It should be possible to incrementally modify the list like &lt;tt&gt;debug&lt;/tt&gt; masks are set/cleared, with &quot;&lt;tt&gt;&amp;#43;&amp;#43;&lt;/tt&gt;&quot; adding a prefix and &quot;&quot; removing a prefix instead of having to specify the full list each time. Using &quot;&lt;tt&gt;&amp;#43;&amp;#43;&lt;/tt&gt;&quot; could embed a &quot;&lt;tt&gt;&amp;#43;&lt;/tt&gt;&quot; into the name and &quot;&lt;tt&gt;&amp;#45;&amp;#45;&lt;/tt&gt;&quot; should embed &quot;&lt;tt&gt;&amp;#45;&lt;/tt&gt;&quot; into the name?&#160; It isn&apos;t possible to use NUL-separated strings for the output, but it &lt;em&gt;would&lt;/em&gt; be possible to use a slash &apos;&lt;tt&gt;/&lt;/tt&gt;&apos; to separated strings and/or as an escape character &quot;&lt;tt&gt;/+&lt;/tt&gt;&quot; and &quot;&lt;tt&gt;/&amp;#45;&lt;/tt&gt;&quot;, since it can never be part of a valid name.&#160; That would have the unfortunate side-effect of looking like a pathname, which would be confusing.&#160; Also, it doesn&apos;t allow adding and removing the exclusion list incrementally like &quot;&lt;tt&gt;&amp;#43;&lt;/tt&gt;&quot; and &quot;&quot; do. I&apos;m open for suggestions here. Using a backslash &apos;\&apos; as the escape character would also be possible, but has the drawback that it may be eaten by various levels of parsing (shell, glibc input and output) so it would never be clear how many &apos;\&apos; should be used at any time.&lt;/p&gt;

&lt;p&gt;If some subdirectory named &quot;&lt;tt&gt;_temporary&lt;/tt&gt;&quot; (or other name in the exclude list) is created that is &lt;b&gt;not&lt;/b&gt; related to Apache Spark, then the only effect is the directory is created on the same MDT as the parent. That is not worse than before DNE MDT balancing was implemented, and would only be a problem if the entire filesystem tree was being created by Apache Spark using only intermediate &quot;&lt;tt&gt;_temporary&lt;/tt&gt;&quot; directories, which seems unlikely.&lt;/p&gt;</description>
                <environment></environment>
        <key id="80057">LU-17434</key>
            <summary>DNE3: add exclude list for remote subdirectory creation</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="laisiyao">Lai Siyao</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Jan 2024 23:20:29 +0000</created>
                <updated>Tue, 23 Jan 2024 14:37:18 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="400296" author="adilger" created="Fri, 19 Jan 2024 01:11:52 +0000"  >&lt;p&gt;If there is some concern about the &quot;same MDT&quot; policy causing significant space imbalance, then we might consider relaxing this MDT usage is above some threshold (e.g. within &lt;tt&gt;qos_threshold_rr&lt;/tt&gt; of being full?&lt;/p&gt;</comment>
                            <comment id="400808" author="gerrit" created="Tue, 23 Jan 2024 14:37:18 +0000"  >&lt;p&gt;&quot;Lai Siyao &amp;lt;lai.siyao@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/53780&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53780&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17434&quot; title=&quot;DNE3: add exclude list for remote subdirectory creation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17434&quot;&gt;LU-17434&lt;/a&gt; lmv: add exclude list for remote dir&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: c14f78feea9d92c978ff4ed2330278fdb0f720ca&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="80013">LU-17426</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="80014">LU-17427</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="80101">LU-17441</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|i047u7:</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>