On Nov 12, 2006, at 10:48 AM, Jeffrey Altman wrote:

Robert Banz wrote:
            if ((acode == VICETOKENDEAD) || (acode == RXKADEXPIRED))

Leads to the same message, I've added an extra bit to the "...expired" error message to tell me *which* of these is the case -- but I'm pretty
sure that from the client's perspective it's tokens shouldn't be
expiring for quite awhile.

VICETOKENDEAD does not mean that the client's tokens are expired.
It means that the token's associated with the RX connection are expired.
The file server sends this error when the last call received by the
file server was so long ago that the tokens associated with the
connection are no longer good.  Its meant to trigger the use of a new
RX connection.  It should not trigger the destruction of the tokens
held by the client.

Only an RXKADEXPIRED or RXKADBADTICKET should do that.

Thanks for the better explanation of the error codes.

According to the code in the client, all three of these states lead to the same result -- getting UTokensBad set in user->states, with the only difference in handling being that VICETOKENDEAD & RXKADEXPIRED printing the "...expired" error message, and any other RXK error gets it's error code printed. Check out afs/afs_analyze.c...

The intended behavior that you describe above makes sense, however, the current way the error handling is coded doesn't follow. My only "fear" in fixing this a lack of understanding of some of the ramifications. While it looks relatively simple to ask for a retry of the call, and initiate a new RX connection, there doesn't seem to currently be a way to put a limit on how many times something would be retried. I think that would require adding a counter to vrequest to track how many times this request may have been retried as I don't think it should be unbounded -- at some point it should end up throwing an IO error back up the stack... Or are there already limits in-place for this?

Thoughts?


_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to