On Tue, Dec 14, 2010 at 5:19 AM, Harald Barth <[email protected]> wrote: > >> 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".
The version information per rxdebug is unreliable, of course. It's any arbitrary build-time string. > 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. An RPC with a version vector or something more reliable than a text string has already been discussed and is presumably going to be in the offing. _______________________________________________ OpenAFS-info mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-info
