<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:39:36 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-10948] client cache open lock after N opens</title>
                <link>https://jira.whamcloud.com/browse/LU-10948</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;listed as minor but when a user does this, we start to get phone calls form other users and then page POC to identify code/user. Workaround is to terminate user job(s).&lt;/p&gt;

&lt;p&gt;Oleg has said that Lustre has an existing feature for a client to acquire open lock but off by default. This to mimic NFS behavior.&lt;/p&gt;

&lt;p&gt;Ideal change would be that we can specify a number of times that a file is opened on single client at which time lock is acquired. (e.g. 10th time)&lt;/p&gt;

&lt;p&gt;Use case is naive user who loop in this way on like 5000+ threads in java:&lt;/p&gt;

&lt;p&gt;do until till the sun turns black()&lt;/p&gt;

{

fd = open(*my_thread_ID, O_APPEND)

calculate_something_small_but_useful()

write(fd, *fortytwo, 42)

close(fd

}

&lt;p&gt;Users often don&apos;t have complete control over the code they run and as a result may not be able to quickly make even simple changes.&lt;/p&gt;</description>
                <environment>cent server/sles client</environment>
        <key id="51963">LU-10948</key>
            <summary>client cache open lock after N opens</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="green">Oleg Drokin</assignee>
                                    <reporter username="Bob.C">Bob Ciotti</reporter>
                        <labels>
                    </labels>
                <created>Tue, 24 Apr 2018 17:55:30 +0000</created>
                <updated>Mon, 22 Jan 2024 15:46:05 +0000</updated>
                                            <version>Lustre 2.9.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>17</watches>
                                                                            <comments>
                            <comment id="226738" author="green" created="Wed, 25 Apr 2018 16:21:54 +0000"  >&lt;p&gt;So I took initial look into this with a simple patch that implements an inode open counter. This uncovered a number of unanticipated problems:&lt;/p&gt;

&lt;p&gt;1. if you never properly look up the file before doing open (or do an ls in the directory that contains it), all lookups don&apos;t match (due to invalid flag in dentry so dcompare rejects it) and we always enter lustre via ll_atomic_open() with a new/negative dentry =&amp;gt; we have no inode, so we cannot reach the counter until it&apos;s too late.&lt;br/&gt;
2. if we do ls -l beforehand and have the inode. the moment we request an open lock (that ends up being lookup|open) - due to a mode conflict, it invalidates the lookup|update|perms|.... lock we got from ls -l, this lock revocation invalidates the file dentry and ll_intent_file_open() does not rehash it on lookup lock receiving which returns us back to square 1 - we have the open lock, but we cannot find it (the rehashing is easy to solve, I&apos;ll do a simple patch for that soon).&lt;br/&gt;
3. the conflict arising from #2 is not detected by ELC so it&apos;s an actual client-server-client rpc pingpong which is also undesirable.&lt;/p&gt;

&lt;p&gt;I am somewhat surprised to find we do not return a lookup lock from an open request even if the open lock was not requested, since normally we&apos;d want to do that anyway and also include a layout lock (and save an RPC fetching layout so we can start doing io right away), but I guess this is a function of mdtest penalizing us if we return any lock? There&apos;s still some looking to be done here on my part, I guess.&lt;/p&gt;</comment>
                            <comment id="226750" author="gerrit" created="Wed, 25 Apr 2018 19:11:13 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/32156&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32156&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; mdt: Always return lookup lock on opens&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: d7bced6acd3a1ef77db2afdbadbe4bedc0ef54c4&lt;/p&gt;</comment>
                            <comment id="226751" author="gerrit" created="Wed, 25 Apr 2018 19:11:15 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/32157&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32157&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; llite: Revalidate dentries in ll_intent_file_open&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: e4066c651e0fc03ec967c45fa2d99a04d82e4447&lt;/p&gt;</comment>
                            <comment id="226752" author="gerrit" created="Wed, 25 Apr 2018 19:11:16 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/32158&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32158&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; llite: WIP! Introduce inode open counter&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 07d1059dcd4f0e4965b8403cd1bcf52ba391343b&lt;/p&gt;</comment>
                            <comment id="226753" author="green" created="Wed, 25 Apr 2018 19:18:11 +0000"  >&lt;p&gt;I just pushed 3 patches that make the problem go away. the 3rd patch is a bit of a WIP in that you cannot actually tune the counter value, but good for quick verification. I don&apos;t know if this will apply to 2.9, this is to try at some other time I guess (please confirm the exact version you would be able to try this on).&lt;/p&gt;

&lt;p&gt;I tested the patches with this reproducer and it does the expected thing:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;
#include &amp;lt;fcntl.h&amp;gt;

&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; main(&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; argc, &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; **argv)
{
	&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; fd;
	&lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; fortytwo[42];
	&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; i;

	&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (i = 0; i &amp;lt; 100 ; i++) {
		fd = open(argv[1], O_WRONLY|O_APPEND);
		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (fd == -1) {
			perror(&lt;span class=&quot;code-quote&quot;&gt;&quot;open&quot;&lt;/span&gt;);
			&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; -1;
		}

		write(fd, fortytwo, sizeof(fortytwo));
		close(fd);
	}

	&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; 0;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Note you need to create the file beforehand.&lt;/p&gt;

&lt;p&gt;I also verified that if you do add O_CREAT (that does not require a file create beforehand) the things still work as expected and the caching still works too.&lt;/p&gt;

&lt;p&gt;Likely sideeffect: you won&apos;t be able to write into your executables on Lustre after 10 executions - we&apos;ll need to pull in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4398&quot; title=&quot;mdt_object_open_lock() may not flush conflicting handles&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4398&quot;&gt;&lt;del&gt;LU-4398&lt;/del&gt;&lt;/a&gt; for that.&lt;/p&gt;</comment>
                            <comment id="226754" author="green" created="Wed, 25 Apr 2018 19:29:26 +0000"  >&lt;p&gt;Also forgot to add that the patches do not fix problem #3 outlined, but it&apos;s sidestepped by the virtue of adding the lookup bit into the mix which suddenly makes that whole lock discoverable by ELC as a conflicting one.&lt;/p&gt;

&lt;p&gt;We still need to add update bit into the elc match pattern for open requests as a separate patch, I suspect.&lt;/p&gt;</comment>
                            <comment id="226760" author="bob.c" created="Wed, 25 Apr 2018 20:31:12 +0000"  >&lt;p&gt;From JLan (our build engineer)&lt;/p&gt;

&lt;p&gt;All 3 patches were applied to nas-2.10.3 cleanly.&lt;/p&gt;

&lt;p&gt;Jay&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&amp;#8212; so we test soon&lt;/p&gt;</comment>
                            <comment id="228174" author="mhanafi" created="Fri, 18 May 2018 19:44:41 +0000"  >&lt;p&gt;Attaching our testing results.&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;We observed big difference in run time.&lt;/li&gt;
	&lt;li&gt;Non-patched clients with patched clients had the same results as patched clients.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/30211/30211_LU-10948_testing.pdf&quot; title=&quot;LU-10948_testing.pdf attached to LU-10948&quot;&gt;LU-10948_testing.pdf&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="228177" author="green" created="Fri, 18 May 2018 20:22:23 +0000"  >&lt;p&gt;Thanks for the results!&lt;/p&gt;

&lt;p&gt;Yes, the change 32156 is server-side and it&apos;s a pretty important part of the set, that&apos;s why when you don&apos;t patch the server you don&apos;t observe any positive impact.&lt;/p&gt;

&lt;p&gt;That said, your open counts are still elevated which means at least something is not working as planned unless I misunderstood your testcase.&lt;/p&gt;</comment>
                            <comment id="228209" author="mhanafi" created="Sun, 20 May 2018 18:51:52 +0000"  >&lt;p&gt;This is my test case.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;       program multi_stats
! compile with ifort -o multi_stats multi_stats.f -lmpi
      use mpi
      integer (kind=8), parameter :: niter=10000
      integer (kind=8) :: i
      real (kind=8) :: t0, t1, t2
      logical :: ex
      character*50 :: filename
      call mpi_init(ierr)
      call mpi_comm_rank(mpi_comm_world, myid, ierr)
      call mpi_comm_size(mpi_comm_world, nprocs, ierr)      t0 = mpi_wtime()
      write(filename,&lt;span class=&quot;code-quote&quot;&gt;&apos;(a,i0.8)&apos;&lt;/span&gt;) &lt;span class=&quot;code-quote&quot;&gt;&quot;test.&quot;&lt;/span&gt;, myid
!      print *, &lt;span class=&quot;code-quote&quot;&gt;&apos;my filename is&apos;&lt;/span&gt;, filename
      open(10, file=filename, status=&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt;&quot;&lt;/span&gt;, IOSTAT=IERR)
      close(10)
      &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; i = 1,niter
         open(10, file=filename, status=&lt;span class=&quot;code-quote&quot;&gt;&apos;old&apos;&lt;/span&gt;, position=&lt;span class=&quot;code-quote&quot;&gt;&apos;append&apos;&lt;/span&gt;)
         write ( 10,*) &lt;span class=&quot;code-quote&quot;&gt;&quot;test&quot;&lt;/span&gt;, i
         close(10)
!      &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (myid .eq. nprocs-1) write(0,*) i
!      call sleep(1)
      call mpi_barrier(mpi_comm_world, ierr)
      enddo
 60   call mpi_barrier(mpi_comm_world, ierr)
      t1 = mpi_wtime()
      &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (myid .eq. 0) print *, &lt;span class=&quot;code-quote&quot;&gt;&apos;Total runtime = &apos;&lt;/span&gt;,t1 - t0
      call mpi_finalize(ierr)
      end 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="228215" author="green" created="Mon, 21 May 2018 04:56:02 +0000"  >&lt;p&gt;does the result change if you only run one instance of it, not 10 (Are all 10 on the same node)?&lt;/p&gt;

&lt;p&gt;Do you have ability to test on 2.11? I wonder if it&apos;s just some 2.10 difference that makes this not work as expected, though cursory check does not seem to indicate anything like that.&lt;/p&gt;

&lt;p&gt;If a single-process test still results in elevated open counts, please try my C reproducer, if that one works as expected, please run your reproducer under strace.&lt;/p&gt;</comment>
                            <comment id="228475" author="mhanafi" created="Wed, 23 May 2018 18:37:08 +0000"  >&lt;p&gt;Here is comparing the C code vs FORTRAN. Including strace of the FORTRAN.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; C 100 iterations
----------------  
/proc/fs/lustre/mdc/nbptest2-MDT0000-mdc-ffff88203d2dd800/md_stats
close               9
intent_lock         11
/proc/fs/lustre/mdc/nbptest2-MDT0000-mdc-ffff88203d2dd800/stats
req_waittime        29
req_active          29
mds_close           9
ldlm_cancel         9
/proc/fs/lustre/llite/nbptest2-ffff88203d2dd800/stats
write_bytes         100
open                100
close               100
getxattr            10
getxattr_hits       9
inode_permission    200

/proc/fs/lustre/mdt/nbptest2-MDT0000/exports/10.151.31.132@o2ib/ldlm_stats
ldlm_enqueue        11
ldlm_cancel         9
/proc/fs/lustre/mdt/nbptest2-MDT0000/exports/10.151.31.132@o2ib/stats
open                10
close               9
getxattr            1

Fortran 100 iterations
---------------------
/proc/fs/lustre/mdc/nbptest2-MDT0000-mdc-ffff88203d2dd800/md_stats
close               99
intent_lock         302 
setattr             100
/proc/fs/lustre/mdc/nbptest2-MDT0000-mdc-ffff88203d2dd800/stats
req_waittime        497
req_active          497
mds_close           99
ldlm_cancel         99
obd_ping            1
/proc/fs/lustre/llite/nbptest2-ffff88203d2dd800/stats
write_bytes         100
ioctl               200
open                100
close               100
seek                200
truncate            100
getattr             101
getxattr            100
getxattr_hits       100 
inode_permission    406

/proc/fs/lustre/mdt/nbptest2-MDT0000/exports/10.151.31.132@o2ib/ldlm_stats
ldlm_enqueue        198
ldlm_cancel         99
/proc/fs/lustre/mdt/nbptest2-MDT0000/exports/10.151.31.132@o2ib/stats
open                99
close               99
getattr             100
setattr             100
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/30241/30241_fortran.100iter.strace&quot; title=&quot;fortran.100iter.strace attached to LU-10948&quot;&gt;fortran.100iter.strace&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="231266" author="paf" created="Wed, 1 Aug 2018 18:13:46 +0000"  >&lt;p&gt;For what it&apos;s worth, we&apos;ve observed a 70-80% reduction in the mdsrate open() benchmark from the change that &lt;a href=&quot;https://review.whamcloud.com/#/c/32156/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/32156/&lt;/a&gt;&#160;reverses.&lt;/p&gt;

&lt;p&gt;Just something to consider - The impact of that change alone is enormous.&lt;/p&gt;</comment>
                            <comment id="231333" author="adilger" created="Thu, 2 Aug 2018 19:35:06 +0000"  >&lt;p&gt;Patrick, when you say &quot;reduction in the mdsrate open() benchmark&quot;, does that mean &quot;reduction in the time taken&quot; (== good), or &quot;reduction in the open rate&quot; (== bad)?&lt;/p&gt;</comment>
                            <comment id="231337" author="paf" created="Thu, 2 Aug 2018 19:42:47 +0000"  >&lt;p&gt;Ah, sorry, that was ambiguous.&#160; Reduction in the open rate, so, bad news.&lt;/p&gt;

&lt;p&gt;On a real system, this mdsrate open benchmark drops from 35K opens/second to around 11K.&lt;br/&gt;
This is 10K opens per process, 64 processes, opens are random files from among 300000 existing files (created by mdsrate earlier):&#160;&lt;br/&gt;
aprun -n 64 /usr/lib64/lustre/tests/mdsrate -d /mnt/lustre/mdsrate --open --iters 10000 --nfile=300000&lt;/p&gt;

&lt;p&gt;On a much smaller VM, I see a drop from 8K opens/second to 4K with this benchmark.&lt;br/&gt;
This is 8K opens per process, 4 processes, opens randomly selected from among 30000 existing files:&lt;br/&gt;
mpirun -n 4 /usr/lib64/lustre/tests/mdsrate -d /mnt/lustre/mdsrate --open --iters 8000 --nfile=30000&lt;/p&gt;

&lt;p&gt;As discussed elsewhere, I&apos;ll open an LU for this in a few minutes.&lt;/p&gt;</comment>
                            <comment id="248179" author="gerrit" created="Sat, 1 Jun 2019 03:59:04 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/32157/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32157/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; llite: Revalidate dentries in ll_intent_file_open&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 14ca3157b21d8bd22be29c9578819b72fd39a1e5&lt;/p&gt;</comment>
                            <comment id="248242" author="gerrit" created="Mon, 3 Jun 2019 06:41:56 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/35039&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35039&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; mdt: Remove openlock compat code with 2.1&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 1f0f1746f2b2f368e76b8b188f85efe96a7f69e3&lt;/p&gt;</comment>
                            <comment id="249330" author="gerrit" created="Sun, 16 Jun 2019 03:24:30 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/35039/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35039/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; mdt: Remove openlock compat code with 2.1&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: f4e39f710f9069208594870b5cdd37879b46a404&lt;/p&gt;</comment>
                            <comment id="255193" author="simmonsja" created="Sun, 22 Sep 2019 16:35:15 +0000"  >&lt;p&gt;Is this resolved?&lt;/p&gt;</comment>
                            <comment id="267919" author="alex.ku" created="Fri, 17 Apr 2020 21:18:29 +0000"  >&lt;p&gt;Is this resolved?&lt;/p&gt;

&lt;p&gt;In what lustre release this patch is available?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="268823" author="adilger" created="Wed, 29 Apr 2020 00:17:37 +0000"  >&lt;p&gt;This issue has not been resolved, as the main functional patches have not been landed yet.  The few patches that have been landed so far are just cleaning up issues in the code.&lt;/p&gt;

&lt;p&gt;There are two patches from this ticket outstanding for this ticket that add a simple client-side per-inode counter+threshold to decide whether the client should fetch the openlock:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;https://review.whamcloud.com/32157&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32157&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; llite: Revalidate dentries in ll_intent_file_open&lt;/tt&gt;&quot;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://review.whamcloud.com/32158&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32158&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; llite: WIP! Introduce inode open counter&lt;/tt&gt;&quot;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;There is also an older patch on &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7915&quot; title=&quot;investigate heuristics for SPARK client getting MDS openlock &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7915&quot;&gt;LU-7915&lt;/a&gt; that just provides a whole-client tunable to enable opencache:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;https://review.whamcloud.com/19664&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/19664&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7915&quot; title=&quot;investigate heuristics for SPARK client getting MDS openlock &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7915&quot;&gt;LU-7915&lt;/a&gt; llite: add a tunable to enable opencache&lt;/tt&gt;&quot;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Getting the patches for this ticket updated to the latest master and reviewing/investigating the test failures would be useful for getting it landed sooner.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7915&quot; title=&quot;investigate heuristics for SPARK client getting MDS openlock &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7915&quot;&gt;LU-7915&lt;/a&gt; patch might be useful for testing how much opencache would help a specific workload, but always-on opencache had shown to be a performance hit in some cases in the past, which is why we didn&apos;t enable opencache permanently.  Still, landing patch 19664 would at least give an available tunable to turn this on/off on a per-client basis if it shows a net improvement for a site&apos;s workload.&lt;/p&gt;</comment>
                            <comment id="288429" author="gerrit" created="Fri, 25 Dec 2020 20:42:18 +0000"  >&lt;p&gt;Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/41091&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/41091&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; llite: Revalidate dentries in ll_intent_file_open&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: d1242a54f369712b5c39cc51e3118e9f83c5895e&lt;/p&gt;</comment>
                            <comment id="293897" author="gerrit" created="Thu, 4 Mar 2021 08:34:00 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/41091/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/41091/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; llite: Revalidate dentries in ll_intent_file_open&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 6ad2679352ee9a14eceb8c70b37df084bc07a6f7&lt;/p&gt;</comment>
                            <comment id="301373" author="gerrit" created="Wed, 12 May 2021 16:36:17 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/32158/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32158/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; llite: Introduce inode open heat counter&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 41d99c4902836b7265db946dfa49cf99381f0db4&lt;/p&gt;</comment>
                            <comment id="302301" author="jaylan" created="Sat, 22 May 2021 01:35:30 +0000"  >&lt;p&gt;Can you port #32158 to b2_12? Thanks!&lt;/p&gt;</comment>
                            <comment id="303393" author="gerrit" created="Thu, 3 Jun 2021 00:12:50 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/43903&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43903&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; mdt: New connect flag for non-open-by-fid lock request&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 14edc80c617871e550d41a0f2e0b0f1491e02f37&lt;/p&gt;</comment>
                            <comment id="303401" author="gerrit" created="Thu, 3 Jun 2021 03:42:06 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/43907&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43907&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; mdt: New connect flag for non-open-by-fid lock request&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: f6acd02aa06420264b83e4ef2d4bf2f0f95794c7&lt;/p&gt;</comment>
                            <comment id="305843" author="gerrit" created="Wed, 30 Jun 2021 03:15:40 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/43907/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43907/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; mdt: New connect flag for non-open-by-fid lock request&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 72c9a6e5fb6e11fca1b1438ac18f58ff7849ed7d&lt;/p&gt;</comment>
                            <comment id="400597" author="adilger" created="Mon, 22 Jan 2024 15:46:05 +0000"  >&lt;p&gt;Patch &lt;a href=&quot;https://review.whamcloud.com/32156&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32156&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10948&quot; title=&quot;client cache open lock after N opens&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10948&quot;&gt;LU-10948&lt;/a&gt; mdt: Always return lookup lock on opens&lt;/tt&gt;&quot; is not landed yet.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="25787">LU-5426</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="22524">LU-4398</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="49426">LU-10269</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="52886">LU-11199</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="35578">LU-7915</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="39648">LU-8585</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="52002">LU-10955</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="55556">LU-12262</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64347">LU-14694</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64573">LU-14743</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="73951">LU-16463</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="35578">LU-7915</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="52011">LU-10957</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="53926">LU-11623</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="30211" name="LU-10948_testing.pdf" size="30463" author="mhanafi" created="Fri, 18 May 2018 19:41:17 +0000"/>
                            <attachment id="30241" name="fortran.100iter.strace" size="65942" author="mhanafi" created="Wed, 23 May 2018 18:33:27 +0000"/>
                    </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_10030" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Epic/Theme</customfieldname>
                        <customfieldvalues>
                                        <label>Performance</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzzwb3:</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>