bharathv commented on issue #904: HBASE-23304: RPCs needed for client meta information lookup URL: https://github.com/apache/hbase/pull/904#issuecomment-564636737 @ndimiduk I actually missed your comment on the compatibility. I documented them in the jira for future, but I'm pasting them here for convenience. Following is the information needed by clients during connection init and the corresponding RPC endpoints added by the patch. # clusterid - GetClusterId(GetClusterIdRequest) -> (GetClusterIdResponse) # activemaster - GetActiveMaster(GetActiveMasterRequest) -> (GetActiveMasterResponse) # metalocations - GetMetaRegionLocations(GetMetaRegionLocationsRequest) -> (GetMetaRegionLocationsResponse) Given these are new service endpoints, we need to consider some upgrade scenarios. * old client -> old server works (duh!) * old client -> new server works (backwards compatible since the patch does not change any existing RPC signatures) * old client -> new server - *does not work*, the channel will be closed on error because the end points it is looking up would still not be implemented on the server side. * new client -> new server works (duh!) Given this compatibility matrix, * Client-server compatibility - clients and servers are *not* allowed to upgrade out of sync. Servers should be upgraded first before upgrading the clients. * Server-server compatibility - unaffected. * File format compatibility - unaffected. * Client API compatibility - unaffected. * Client binary compatibility - unaffected. (only configuration changes needed) * Server side limited API compatibility - unaffected. * Dependency compatibility - unaffected.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
