On 11/30/2011 4:13 PM, Simon Wilkinson wrote: > 1) If you have an RPC with a small number of arguments (say CreateFile) the > client will end up in READER_WAIT as soon as it has transmitted the first > packet. If that CreateFile requires a callback break which takes longer than > the idle dead timeout, then the client will timeout the call with > CALL_TIMEOUT. In the meantime, the server will complete the callback break, > and create the file. afs_Analyze will receive CALL_TIMEOUT and retry the > operation, the server will see that the file already exists, and return > EEXIST. So, we have an operation that has actually succeeded returning an > error.
The cache manager will not only return an error but be left with out of date status information and the belief that it has a valid callback. In fact, it does have a valid callback but for DV+1 not DV because the file server registered a new callback for DV+1 when the first CreateFile succeeded. Its this second bit that bothers me even more than the extraneous error in this case. Cheers Jeffrey Altman
signature.asc
Description: OpenPGP digital signature