[OpenAFS] GiveUpAllCallBacks callers

Harald Barth haba@kth.se
Tue, 14 Dec 2010 11:19:24 +0100 (CET)

> The change at http://gerrit.openafs.org/3404 would greatly increase
> client shutdown performance as well as taking some pressure off server
> callback
> utilization by allowing clients to relinquish callbacks to all servers
> in a single "multi-Rx" call. The drawback is that as there is no way
> with current RPCs
> to know what server version is running, sites running 1.4.0 through
> 1.4.5 would risk host list corruption and potentially a crash.

So the key question is how to get these sites to upgrade and not crash
them in the meantime.

I would not object if a client would use the version information (as
displayed by rxdebug) to make optimizations. Or to complain loudly in
the log that "talking to an old server, downgrading performance,
please notify admin of xxxx to upgrade".

However, in absence of a parsable version number, the client should
take the "safe path" as well.

> An alternate version of 3404, patchset one, includes an
> implementation which cheats, namely, within a few months of
> GiveUpAllCallBacks being fixed, the GetStatistics64 RPC was
> introduced. Its existance would be used as a sentinel that
> GiveUpAllCallBacks was safe to issue. However, this was objected to
> as it ties unrelated RPCs together.

For the future, when noone (*) remembers 1.4.5 any more, I'd rather go
for the version number approach and not for the "rpc exist" approach,
even if it would be a convinient way today.


(*) With the exeption of the members of this list who have been around
from the pre-transarc days, you know who you are ;-)