<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:10:24 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-14512] prohibit extend file with stale mirror</title>
                <link>https://jira.whamcloud.com/browse/LU-14512</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Otherwise a FLR file could be created which contains multiple updated mirrors but their contents do not match.&lt;/p&gt;</description>
                <environment></environment>
        <key id="63294">LU-14512</key>
            <summary>prohibit extend file with stale mirror</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="6" iconUrl="https://jira.whamcloud.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="6">Not a Bug</resolution>
                                        <assignee username="bobijam">Zhenyu Xu</assignee>
                                    <reporter username="bobijam">Zhenyu Xu</reporter>
                        <labels>
                    </labels>
                <created>Thu, 11 Mar 2021 15:38:36 +0000</created>
                <updated>Sat, 13 Mar 2021 14:54:25 +0000</updated>
                            <resolved>Sat, 13 Mar 2021 14:54:25 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="294700" author="bzzz" created="Thu, 11 Mar 2021 15:41:12 +0000"  >&lt;p&gt;how this can be? my understanding is that extending itself can&apos;t introduce any inconsistency as it copies data from replica known to be correct?&lt;/p&gt;</comment>
                            <comment id="294709" author="gerrit" created="Thu, 11 Mar 2021 16:14:51 +0000"  >&lt;p&gt;Bobi Jam (bobijam@hotmail.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/42008&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/42008&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14512&quot; title=&quot;prohibit extend file with stale mirror&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14512&quot;&gt;&lt;del&gt;LU-14512&lt;/del&gt;&lt;/a&gt; flr: prohibit extend file with stale mirror&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: a5b1e28b5e5607863cd91da6c6155d99c8f4c988&lt;/p&gt;</comment>
                            <comment id="294710" author="bobijam" created="Thu, 11 Mar 2021 16:18:54 +0000"  >&lt;p&gt;IIRC, mirror extend does not do the resync, only merge the layout and bring its data, or extend to create a new mirror with empty data.&lt;/p&gt;</comment>
                            <comment id="294714" author="bzzz" created="Thu, 11 Mar 2021 16:23:23 +0000"  >&lt;blockquote&gt;
&lt;p&gt;IIRC, mirror extend does not do the resync, only merge the layout and bring its data, or extend to create a new mirror with empty data.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;well, no, lfs mirror extend -N creates a mirror and (re)sync it&lt;/p&gt;</comment>
                            <comment id="294721" author="bobijam" created="Thu, 11 Mar 2021 17:02:56 +0000"  >&lt;p&gt;you are right. &lt;/p&gt;

&lt;p&gt;There&apos;s another issue, as the file contains updated mirror1 and stale mirror2 (in write-pending state), it extends a mirror3 with data migrated from mirror1, lod_declare_update_write_pending() would fail the assertion that a FLR in write shouldn&apos;t contain multiple primary mirrors.&lt;/p&gt;</comment>
                            <comment id="294722" author="bzzz" created="Thu, 11 Mar 2021 17:11:19 +0000"  >&lt;p&gt;probably &lt;a href=&quot;https://review.whamcloud.com/#/c/42003/4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/42003/4&lt;/a&gt; can help with that?&lt;/p&gt;</comment>
                            <comment id="294725" author="bobijam" created="Thu, 11 Mar 2021 17:17:17 +0000"  >&lt;p&gt;yes that can help. Is it a good idea to prohibit un-synced FLR file to extend new mirror in general? &lt;/p&gt;</comment>
                            <comment id="294726" author="bzzz" created="Thu, 11 Mar 2021 17:19:00 +0000"  >&lt;p&gt;I&apos;m not sure. probably someone else can comment on this rather practical question?&lt;/p&gt;</comment>
                            <comment id="294903" author="adilger" created="Sat, 13 Mar 2021 10:01:00 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Is it a good idea to prohibit un-synced FLR file to extend new mirror in general? &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;No, I don&apos;t think that is a good idea to impose that limitation.&lt;/p&gt;

&lt;p&gt;Consider a file with mirror1 (primary), mirror2 (stale).  If mirror2 is on a failed OST, we may want to create a whole new mirror3 to restore redundancy, and then delete mirror2.  It should always be possible to create a new mirror as long as there is a non-stale mirror.&lt;/p&gt;</comment>
                            <comment id="294905" author="adilger" created="Sat, 13 Mar 2021 10:12:05 +0000"  >&lt;p&gt;In the FLR case, the stale mirror may be an older version of the file (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12648&quot; title=&quot;FLR2: File versioning with FLR and &amp;quot;nosync&amp;quot; files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12648&quot;&gt;LU-12648&lt;/a&gt;) that is still useful, or may still have good data at the start of a file (common case of appending write) that could be manually recovered.&lt;/p&gt;

&lt;p&gt;Note that it is better to add the new mirror to the file &lt;b&gt;before&lt;/b&gt; removing the stale mirror, in case there are also some non-overlapping errors in the remaining (non-stale) mirror.  This often happens in RAID arrays that a drive partly fails, and then during resync there are also sector errors on the &quot;good&quot; drive, and if the bad drive is still partly available the few bad sectors can still be recovered.&lt;/p&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="63304">LU-14514</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="59782">LU-13730</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="59748">LU-13720</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|i01p5r:</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>