+++ This bug was initially created as a clone of Bug #1708156 +++ Description of problem: When an inodelk is being acquired, it could happen that some bricks have already granted the lock while others don't. From the point of view of ec, the lock is not yet acquired. If at this point one of the bricks that has already granted the lock receives another inodelk request, it will send a contention notification to ec. Currently ec ignores those notifications until the lock is fully acquired. This means than once ec acquires the lock on all bricks, it won't be released immediately when eager-lock is used. Version-Release number of selected component (if applicable): mainline How reproducible: Very frequently when there are multiple concurrent operations on same directory Steps to Reproduce: 1. Create a disperse volume 2. Mount it from several clients 3. Create few files on a directory 4. Do 'ls' of that directory at the same time from all clients Actual results: Some 'ls' take several seconds to complete Expected results: All 'ls' should complete in less than a second Additional info:
REVIEW: https://review.gluster.org/22822 (cluster/ec: honor contention notifications for partially acquired locks) posted (#1) for review on release-5 by Xavi Hernandez
REVIEW: https://review.gluster.org/22822 (cluster/ec: honor contention notifications for partially acquired locks) merged (#4) on release-5 by hari gowtham