[LU-10955] Cancel open lock as part of close request Created: 25/Apr/18  Updated: 30/May/19

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Oleg Drokin Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
is related to LU-10948 client cache open lock after N opens Open
Rank (Obsolete): 9223372036854775807

 Description   

Currently when we need to cancel an open lock due to a blocking ast we first issue the close RPC and then cancel the lock. This makes the whole thing quite slow (very visible on benchmarks and is the reason why we disable open handles cache by default).

Now if we ship the lock handle to cancel in the close RPC similar to how we do it with ELC, that cuts 1 RPC roundrip from the whole deal and might even make it fast enough to have enabled by default again.

Caveat - we cannot really cancel the lock right at RPC arrival time in true ELC style because as soon as we cancel the lock - the thread waiting on it would get theirs and would try for the competing open mode that would still fail - so we must postpone the cancel until we tell the system the open handle is gone (don't need to wait for the whole close rpc completion).


Generated at Sat Feb 10 02:39:40 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.