For HA, the NameNode will gain a bit of a state machine, to be able to transition between standby and active states. This would be cleaner in the code if the NameNode class were just a container for various services, as discussed in
HDFS-1974. It's also nice for testing, where it would become easier to construct just the RPC handlers around a mock NameSystem, with no HTTP server, for example.
This JIRA is to move all of the protocol implementations out of NameNode into a separate NameNodeRPCServer class.