This fixes it for me:
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/443260
I'm delaying 2.7.2 long enough to get this in, so it will likely come
out next Monday. I'll also include
25320e6544f6c5a045f20c51446f57c9dc036412 MDCACHE - Don't return dead
entries from hashtable
Daniel
On 2/1/19 11:48 AM, Daniel Gryniewicz wrote:
Okay, I'm able to reproduce this. But, more importantly, I'm
able to
reproduce is on stock 2.7.1, so it's not caused by the recent changes. I
haven't yet checked next, I'll do that, well, next.
Daniel
On 2/1/19 9:33 AM, Daniel Gryniewicz wrote:
> Thanks. I'll see what I can whip up quickly.
>
> Daniel
>
> On 1/31/19 7:47 PM, vrungta(a)amazon.com wrote:
>> Our test programs are very tightly coupled to our test environment.
>> We'll try to see if we can eliminate the dependencies and get
>> something useful
>> Meanwhile here's complete details on our workload.
>> Pre condition:
>> Create a subdirectory with 2000 subdirectories and 2500 1K files
>> in each subdir for a total of 5 million files.
>> One thread doing a python (os.walk) readdir of the entire share
>> (pre-populated subdir as well as the 2nd subdir where files are being
>> created, deleted, recreated). This thread continues for the duration
>> of test.
>> One test run is 6 hours.
>> N files/dir, M dirs, S file size
>> Files to create are submitted to the thread pool in the following order:
>> Dir1/file1, Dir2/file1, DirM/file1, Dir1/file2, Dir2/file2..
>> 5 threads will pull work from the thread pool and create files.
>> Once the writes are complete, one thread will read the files, verify
>> MD5 and then delete them. The process repeats. N,M,S stay constant
>> for the test run.
>> The names of the files in the 2nd iteration are the same as the first
>> iteration.
>> After 6 hours the test run is repeated with a different set of N,M,S
>> and the readdir thread is restarted.
>> N is one of 10, 50, 100, 500, 1000
>> M is from 1 to 10
>> S is one if 1K, 5K, 10K, 50K, 100K, 500K, 1M, 5M, 10M, 50M
>> One other thought:
>> The new code in cih_get_by_key_latch will now return not found even
>> though it is still in the hash with a refcount of 0.
>> mdcache_new_entry will go through oentry=NULL and will add the new
>> entry to the hash (avltree?). Can this result in collisions between
>> the oentry that still exists and the new entry being added?
>> _______________________________________________
>> Devel mailing list -- devel(a)lists.nfs-ganesha.org
>> To unsubscribe send an email to devel-leave(a)lists.nfs-ganesha.org
>>
>