Subject: Re: [nfsv4] RECLAIM_COMPLETE operation

From: [email-masked]
Date: Fri, 13 Jan 2006 11:52:45 -0500 (EST)

2 additional comments:
1 - Others seem to assume that the client cannot safely recover any of the
  locks after the second reboot, if it did not complete its recovery. I can't
  see a problem with it recovering the locks it did recover the previous
  boot cycle(s). Is recovering these locks a problem?

  If a client can recover these locks, then having a server not allow
  recovery of any locks by that client does seem to be a negative.
  (As David Robinson suggested, if I understood it correctly.)

2 - The case that I easily reproduce during testing here is the one where
  the clients don't complete recovery of locks before grace is over,
  simply because there are a lot of locks to recover.
  For now, my server alleviates this with the heuristic:
  - initially end-of-grace = start-of-grace + lease-duration
  - when a reclaim is done, set end-of-grace to
      end-of-grace = (end-of-grace, current-time + K)
    where K is 15sec

  It is sufficient for the normal case, but will fail if there is something
  like a short-term network partitioning between the server and any client
  doing recovery.

  RECLAIM_COMPLETE would allow the value of K to be increased significantly
  (or end-of-grace to be initialized to a larger value), since the server
  would be able to terminate grace early for the normal case.

  Simply using a fixed initial value of grace period = lease-duration and
  doing nothing else does not seem sufficient.

  Any other/better ideas?

rick

_______________________________________________
nfsv4 mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nfsv4

---

From: "J. Bruce Fields" <[email-masked]>
Date: Fri, 13 Jan 2006 12:59:57 -0500

>   boot cycle(s). Is recovering these locks a problem?

No, I think you're right.

>   (As David Robinson suggested, if I understood it correctly.)

Assuming a careful server, the grace period is unlikely to end while the
client is still blasting out lock reclaims.  So it seems only likely to
happen if there's some kind of network problem that prevents the client
from finishing reclaims before the end of the grace period.

I would've assumed that's a relatively rare case.  But maybe the reboot-
within-grace-period case (the one that RECLAIM_COMPLETE helps with) is
also rare.

>   would be able to terminate grace early for the normal case.

Yeah, good point.

>   doing nothing else does not seem sufficient.

--b.