<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:03:57 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-6866] MDT file migration is incompatible with HSM</title>
                <link>https://jira.whamcloud.com/browse/LU-6866</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Migrating a file between MDTs changes the FID of the file. The file FID is the used to identify the file in the HSM archive (unfortunately). So, for example, if a released file is migrated from one MDT to another then it cannot be restored.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31126">LU-6866</key>
            <summary>MDT file migration is incompatible with HSM</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="wc-triage">WC Triage</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>HSM</label>
                            <label>migration</label>
                    </labels>
                <created>Fri, 17 Jul 2015 15:10:37 +0000</created>
                <updated>Wed, 17 Apr 2019 17:11:33 +0000</updated>
                            <resolved>Fri, 18 Dec 2015 14:10:44 +0000</resolved>
                                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>18</watches>
                                                                            <comments>
                            <comment id="124820" author="adilger" created="Fri, 21 Aug 2015 18:32:11 +0000"  >&lt;p&gt;I think the path forward here is to generate a ChangeLog record for each migrated file (per &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6868&quot; title=&quot;MDT migration does not generate changelog records&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6868&quot;&gt;&lt;del&gt;LU-6868&lt;/del&gt;&lt;/a&gt;) and let the HSM policy engine and copy tool handle the rename from the old FID to the new FID.  AFAIK, the current archives in use (at least POSIX and HPSS) can handle renames of the files in the archive.&lt;/p&gt;

&lt;p&gt;Some archives, such as S3, cannot handle rename of files in the archive since the S3 objects are immutable.  However, the use of FIDs in the immutable archive also causes problems with HSM import (unrelated to DNE migrate), which current requires the ability to change the file FIDs in the archive after import, so there have been discussions for long-term changes to Lustre HSM to store an archive-supplied UUID to persistently identify objects in Lustre rather than using the Lustre FID to track files in the archive.  That would also solve this problem, but is a rather significant change, and would likely make sense to implement when HSM is integrated with PFL to store the archive UUID in a new &quot;archive layout&quot; type.&lt;/p&gt;</comment>
                            <comment id="128176" author="adilger" created="Tue, 22 Sep 2015 22:35:14 +0000"  >&lt;p&gt;Just watching the &lt;a href=&quot;http://www.eofs.eu/fileadmin/lad2015/slides/05_Herve_Toureille_cines_lustre_hsm.pdf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;CINES HSM&lt;/a&gt; and &lt;a href=&quot;http://www.eofs.eu/fileadmin/lad2015/slides/06_Maria_Perez_Gutierrez_LustreHSMfor_LAD_v1_4.pdf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;DDN WOS&lt;/a&gt; HSM presentations at LAD, and it seems to me that both of these implementations could benefit from storing the UUID into an HSM file layout.  Storing the WOS object UUID in the Lustre inode layout could be used to identify objects in the archive, instead of (or in addition to) using the Lustre FID to identify the object in the archive.  This could also solve the problem that CINES reported with not being able to undelete files directly from the archive back into the Lustre filesystem, because the deleted files are identified by the old FID in the archive and there is no way to recreate that FID in Lustre today..&lt;/p&gt;

&lt;p&gt;As Robert suggested previously, storing the archive UUID into the Lustre HSM layout, it will allow creating a new stub file or migrating the inode (along with the archive UUID stored in the layout xattr) across MDTs, and then nothing needs to be done in the archive since the UUID stays the same.  The HSM archive probably doesn&apos;t even need to care about what the Lustre FID is, since it may change over time and that shouldn&apos;t cause the file to be re-archived.&lt;/p&gt;

&lt;p&gt;Developing the PFL composite layouts is starting, but as yet there isn&apos;t a plan to implement the HSM layout (i.e. LOV_MAGIC_HSM containing essentially struct hsm_attrs + struct uuid, assuming the standard 128-bit/16-byte UUID is enough for S3/WOS and other archive identifiers).  I don&apos;t think there is anyone at Intel that will be working on the HSM-in-layout currently.&lt;/p&gt;</comment>
                            <comment id="128178" author="rread" created="Tue, 22 Sep 2015 22:48:47 +0000"  >&lt;p&gt;That&apos;s right, HSM archives should never see the FID, and should only use the UUID or what identifier makes sense for that particular archive. Currently I store the UUID as an xattr in to achieve the same result. &lt;/p&gt;</comment>
                            <comment id="128235" author="pjones" created="Wed, 23 Sep 2015 13:12:45 +0000"  >&lt;p&gt;Di&lt;/p&gt;

&lt;p&gt;Could you please look into this one?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="128292" author="di.wang" created="Wed, 23 Sep 2015 19:41:17 +0000"  >&lt;p&gt;If I understand correctly, there are two sub-tasks here.&lt;/p&gt;

&lt;p&gt;1. add an change log for migration, which should be easy, and can be done under &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6868&quot; title=&quot;MDT migration does not generate changelog records&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6868&quot;&gt;&lt;del&gt;LU-6868&lt;/del&gt;&lt;/a&gt;.&lt;br/&gt;
2. Add HSM layout (lsm_attrs + uuid) into the MDS file.  So release and restores will based on UUID or FID?  (Sorry, not so familiar with the process).  If it will be based on UUID, does that mean we need lookup FID by UUID? who will maintain the lookup table,  lustre, the HSM tool or some others? &lt;/p&gt;</comment>
                            <comment id="128297" author="rread" created="Wed, 23 Sep 2015 20:09:28 +0000"  >&lt;p&gt;HSM actions contain FIDs, and the hsm tool retrieves the UUID using getxattr(). I don&apos;t see where we would need to lookup FID by UUID, so we don&apos;t need any lookup table for that. A copytool/policy engine might maintain a mapping between UUID and pathname(s), but that would be done outside of Lustre.&lt;/p&gt;</comment>
                            <comment id="128300" author="rread" created="Wed, 23 Sep 2015 20:20:13 +0000"  >&lt;p&gt;Actually, the delete action needs the UUID, since at that point the FID and its xattrs have already been deleted.  Another option might be to include the UUID in the unlink changelog record, and the policy engine can pass that on the backends associated with that file.&lt;/p&gt;</comment>
                            <comment id="128301" author="di.wang" created="Wed, 23 Sep 2015 20:22:23 +0000"  >&lt;p&gt;Hmm, I thought the problem is that migration changes the FID, so the FIDs in archives is not valid anymore? so we instead use UUID to present the object, which will never be changed? I must miss sth here.&lt;/p&gt;</comment>
                            <comment id="128302" author="rread" created="Wed, 23 Sep 2015 20:31:21 +0000"  >&lt;p&gt;The actual bug here is that FIDs are used in archive. The archive needs to use UUIDs (or anything that is unique), and not FIDs. &lt;/p&gt;</comment>
                            <comment id="128311" author="di.wang" created="Wed, 23 Sep 2015 23:22:29 +0000"  >&lt;p&gt;Ah, it is copytool to take care the mapping from this unique identifier to the achieve file. I had wrong ideas before.  Then we should not use FID as the identifier indeed.&lt;/p&gt;</comment>
                            <comment id="128317" author="di.wang" created="Thu, 24 Sep 2015 00:43:38 +0000"  >&lt;p&gt;Ok, I will add migration record for change log. But it seems a temporary solution, i.e. once we have UUID, this can be removed. So should I add a migration record or some one will work on this HSM layout thing (Sorry, I am not familiar with the HSM release/restore thing)?  &lt;/p&gt;</comment>
                            <comment id="128328" author="ihara" created="Thu, 24 Sep 2015 05:00:28 +0000"  >&lt;p&gt;If my undestanding is correct, archive UUID means we can define unique ID that is stored into EA?&lt;br/&gt;
If so, that would be really helpful. Robert and Andreas mentioned above, one of big limitation with WOS and Lustre today, that is  delete operation. we are storing OID (WOS object ID) into EA after migration,  but if file is removed, it&apos;s hard to search objects in WOS becouse OIDs is gone when file removed.&lt;br/&gt;
So, we need extra database to map FID and OID for now. If the changelog keeps UUID ratehr than FID, that would be easy to do asynchronous remove objects in WOS without external database after unlink files on the Lustre.&lt;/p&gt;</comment>
                            <comment id="128358" author="rread" created="Thu, 24 Sep 2015 15:03:05 +0000"  >&lt;p&gt;I believe currently MDT migration triggers unlink and create records in the source MDT and target MDT changelogs respectively, so one option is to just add a MIGRATE flag to those records so we can differentiate the migrate unlink from a real unlink. Or is do yo have a better solution for this already?&lt;/p&gt;

&lt;p&gt;Would it be possible to standardize the EA field we use for the UUID instead of creating a hsm layout? As Ihara mentioned, we eed to support the ability to assign UUIDs to a file, so it is useful to use the normal EA interface for this instead of adding a new API. Also, some backends might use different kinds of identifiers, so it might not always be an actual UUID.  If we have a standardize this, then we can add this extra data to the delete changelog record, and that solves the main problem we have today with using external IDs. &lt;/p&gt;
</comment>
                            <comment id="128384" author="di.wang" created="Thu, 24 Sep 2015 16:23:06 +0000"  >&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;I believe currently MDT migration triggers unlink and create records in the source MDT and target MDT changelogs respectively, so one option is to just add a MIGRATE flag to those records so we can differentiate the migrate unlink from a real unlink. Or is do yo have a better solution for this already?
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The whole migration is implemented in MDD layer, where changelogs are generated, and there are no changelog created for migration. So I can just add one for this ticket. I will push the patch to &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6868&quot; title=&quot;MDT migration does not generate changelog records&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6868&quot;&gt;&lt;del&gt;LU-6868&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="128393" author="rread" created="Thu, 24 Sep 2015 17:13:22 +0000"  >&lt;p&gt;As long is there is no unlink changelog generated, then that&apos;s fine. A migration changelog is useful for the PE to know that file has changed MDTs, but this doesn&apos;t really impact the archive. I&apos;ll open a new ticket for adding UUID to delete changelog, which is much more important for HSM. &lt;/p&gt;</comment>
                            <comment id="128398" author="rread" created="Thu, 24 Sep 2015 17:38:43 +0000"  >&lt;p&gt;Please see &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7207&quot; title=&quot;HSM: Add Archive UUID to delete changelog records&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7207&quot;&gt;LU-7207&lt;/a&gt; for the proposed format for the external ID EA and including it in the delete changelog. &lt;/p&gt;</comment>
                            <comment id="128401" author="di.wang" created="Thu, 24 Sep 2015 17:45:05 +0000"  >&lt;p&gt;Thanks Robert. Then I will close this one, and push the migration record patch to &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6868&quot; title=&quot;MDT migration does not generate changelog records&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6868&quot;&gt;&lt;del&gt;LU-6868&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="135486" author="jhammond" created="Tue, 8 Dec 2015 14:32:26 +0000"  >&lt;p&gt;Reopening since &lt;tt&gt;lhsmtool_posix&lt;/tt&gt; does not implement the discussed functionality.&lt;/p&gt;</comment>
                            <comment id="135526" author="gerrit" created="Tue, 8 Dec 2015 17:28:31 +0000"  >&lt;p&gt;John L. Hammond (john.hammond@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/17511&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17511&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6866&quot; title=&quot;MDT file migration is incompatible with HSM&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6866&quot;&gt;&lt;del&gt;LU-6866&lt;/del&gt;&lt;/a&gt; hsm: prevent migration of HSM archived files&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 3f194332d27db47f0ff1ec6ef947454f8b51c61d&lt;/p&gt;</comment>
                            <comment id="136821" author="gerrit" created="Fri, 18 Dec 2015 05:28:11 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/17511/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17511/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6866&quot; title=&quot;MDT file migration is incompatible with HSM&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6866&quot;&gt;&lt;del&gt;LU-6866&lt;/del&gt;&lt;/a&gt; hsm: prevent migration of HSM archived files&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: fdddeb25a54324cbcc2c99daf38b9f778fdbbec3&lt;/p&gt;</comment>
                            <comment id="136847" author="jgmitter" created="Fri, 18 Dec 2015 14:10:44 +0000"  >&lt;p&gt;Landed for 2.8&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="16851">LU-2430</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="31128">LU-6868</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="32303">LU-7207</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="33791">LU-7586</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="33845">LU-7607</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|hzxifz:</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>