Description
Currently, RPC client caches the Configuration object that was passed in to its constructor and uses that same conf for every connection it sets up thereafter. This can cause problems when security is enabled if the Configuration object provided when the first RPC connection was made does not contain all possible entries for all server principals that will later be used by subsequent connections. When this happens, it will result in later RPC connections incorrectly failing with the error "Failed to specify server's Kerberos principal name" even though the principal name was specified in the Configuration object provided on later RPC connection attempts.
I believe this means that we've inadvertently reintroduced HADOOP-6907.