> we would like to move to the new method of writing Strings (Text.writeString), but can't very easily because even if the file versions and the rpc protocol versions change, that doesn't get passed down to readFields
I'm not sure what you're saying. If we, in a single commit, change from UTF8 to Text in RPC parameter classes and in classes written to disk, and increase the version numbers of the file formats and RPC protocols involved, then we'd be safe, no? The problem is that if we change from UTF8 to Text in the RPC system, when transmitting class names, since this has no version. It would be good to get a version number here.
More generally, it would be useful to have a per-Writable class version number. This could be used when setting up RPC connections, and stored in file formats, etc. But that would not solve the current problem with the RPC system.
Maybe we should punt on the RPC system for this patch for now, and just make the changes that are easy, leaving that for another day?