[Lustre-devel] Version based recovery
Mikhail.Pershin at Sun.COM
Wed Jun 11 07:05:09 PDT 2008
Thanks for review. I put short answers below and will update HLD with more
details about questions you asked.
On Tue, 10 Jun 2008 21:51:23 +0400, Peter Braam <Peter.Braam at Sun.COM>
> I quickly reviewed the HLD and read Mike's response. Here are a few
> 1. Why do you wait for timeout+x after seeing a gap? Why not x,timeout,
this is wrong sentence. The server waits for RECOVERY_TIMEOUT seconds
since last reconnect.
> 2. How to you avoid infinite accumulation of new exports?
new clients are not allowed to connect during recovery and number of
existent exports is finite
> 3. If a VBR recovery operations happens, what transaction number is
> to this?
the same as during original operation, i.e. transno from replay request.
Since we introduce the per-export last_committed value (section 2.2.3 of
HLD), the transno may be the same as old one.
> 4. Please discuss what happpens if multiple gaps are encountered?
when first gap is encountered (the client misses recovery) the server
starts using the version checking for replays and all not connected
clients are marked as 'delayed'. The number of recoverable clients is
decreased so check_for_next_transno will not stop on gap because number of
queued requests is equal to number of client in recovery. You right, this
is missed use case in HLD
> 5. Can we draw some pictures of the original transaction sequence and how
> its slots are refilled (in what order, with what new transaction number
> if multiple clients are involved?
I will do that, sure
> I believe that you might have the right algorithms, but the explanations
> the HLD are too short to be confident.
> - Peter
> Lustre-devel mailing list
> Lustre-devel at lists.lustre.org
Sun Microsystems, Inc.
More information about the lustre-devel