<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:17:02 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-8379] Possible badness with VBR and lock replay</title>
                <link>https://jira.whamcloud.com/browse/LU-8379</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;As part of working on &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8347&quot; title=&quot;granting conflicting locks&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8347&quot;&gt;&lt;del&gt;LU-8347&lt;/del&gt;&lt;/a&gt;, Jinshan raises some valid points I think.&lt;/p&gt;

&lt;p&gt;Let&apos;s say we have a VBR enabled system, recovery completed, but a client failed to join that had outstanding write locks and some dirty data.&lt;/p&gt;

&lt;p&gt;Now before this client rejoins, another client reads some data from a file that was modified (but not yet replayed) but this first client.&lt;/p&gt;

&lt;p&gt;questions:&lt;br/&gt;
1. when the first client reconnect, would it be accepted (file version is not changed because there were no writes, so I think YES?)&lt;br/&gt;
2. when it is accepted - that means second client actually accessed stale data - this is bad, right?&lt;br/&gt;
3. As part of read second client also obtained some read locks on the data that client one is going to change - this is not good.&lt;br/&gt;
4. What happens with replayed locks from client 1 in presence of already granted conflicted write locks?&lt;br/&gt;
5. In fact if somebody has a write lock on a file - that does not change file version yet, right? Only writes do - so what&apos;s to prevent conflicting writes to be in flight for such files?&lt;/p&gt;

&lt;p&gt;I am capturing this here to better understand all these scenarios before categorizing this with a priority accordingly.&lt;/p&gt;</description>
                <environment></environment>
        <key id="38047">LU-8379</key>
            <summary>Possible badness with VBR and lock replay</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="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="6">Not a Bug</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="green">Oleg Drokin</reporter>
                        <labels>
                    </labels>
                <created>Thu, 7 Jul 2016 23:06:38 +0000</created>
                <updated>Fri, 8 Jul 2016 17:36:53 +0000</updated>
                            <resolved>Fri, 8 Jul 2016 17:36:53 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="158064" author="green" created="Thu, 7 Jul 2016 23:07:31 +0000"  >&lt;p&gt;Mike, as the VBR expert, I hope you can provide some insight here&lt;/p&gt;</comment>
                            <comment id="158091" author="tappro" created="Fri, 8 Jul 2016 06:56:57 +0000"  >&lt;p&gt;if the client missed a recovery window then it will be evicted and not allowed to rejoin. The scenario you are thinking of is so called &apos;delayed recovery&apos; which is possible option with VBR but was never accepted to the production because of similar situations due to late replays. So today VBR helps joined clients to complete their recovery if some client is missing, but it doesn&apos;t allow missed clients to rejoin later.&lt;/p&gt;

&lt;p&gt;Meanwhile, just in theory, I think the write lock for such file shouldn&apos;t be replayed &apos;lately&apos; if any other client has already newer PR/PW lock on the same resource and such delayed client has to be considered as &apos;unlucky&apos; for delayed replay and be evicted. Whole delayed recovery was considered as possible if client is lucky and their resources are untouched, i.e. it is allowed only if there are no any conflicts otherwise client is evicted. That means the main task for delayed recovery is to determine conflicts.&lt;/p&gt;</comment>
                            <comment id="158149" author="green" created="Fri, 8 Jul 2016 17:36:53 +0000"  >&lt;p&gt;ok, in the face of that I am going to close this ticket.&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                    </comments>
                    <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|hzygxb:</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>