[OpenAFS-devel] Discarding tokens -- is this good?
Robert Banz
banz@umbc.edu
Sat, 11 Nov 2006 13:09:14 -0500
On Nov 11, 2006, at 12:15, Jeffrey Altman wrote:
> Robert:
>
> A "Tokens for AFS id ... have expired" means that the tokens are
> still being held by the cache manager and their expiration date has
> passed. If the file server reported an RXKAD error indicating that
> the tokens were expired or bad, then the tokens would have been
> discarded.
> Hence, you are looking in the wrong place. I would verify that your
> clocks are synchronized appropriately.
I don't know about that. Clocks are A-OK.
However, from afs/afs_analyze.c:
...since
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.
If it's the RXKADEXPIRED "reason", then it still leaves two problems:
1) why would you want to mark your tokens as "bad" just on the good
word of someone you're communicating with. (e.g., a fileserver)
2) why would a fileserver, assuming that all clocks are a-ok, return
RXKADEXPIRED? And, if we do get this error back (and our tokens
don't look expired), shouldn't we just force a new RX connection and
give it another shot, assuming it's just some sort of odd transient
thing?
---
And, ... great googly moogly -- after checking all of my log files,
ONE of the servers that had the problem yesterday actually tossed a
different reason:
19270410 = sealed data inconsistent
Something seems broken in wacky town -- and the fileservers seem to
be keeping mum about it in their logs... Anyhow, in case you're
wondering: Client versions are 1.4.1 & 1.4.2; Server versions are
1.4.2. Both Solaris 10x86.
I have a cunning plan; focusing around #2 above...
-rob