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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to