Hello dev list, This question came up in https://github.com/apache/hbase/pull/3536, where I renamed a field on the BalanceRequest message in Master.proto.
This change is backwards compatible to the majority of users, because protobuf does not actually care about the name of the field (only the ordinal/id). So long as someone is interacting with MasterRpcServices through the Admin/AsyncAdmin interfaces, they would be completely unaware of the renamed field under the covers. One concern I had was for people with their own forks, or 3rd party clients as Nick brought up. In those cases, they would get a compile time error when building. We don't explicitly cover protobufs in our http://hbase.apache.org/book.html#hbase.versioning.post10 documentation. Nick suggested that it might make sense to consider the protobufs part of the LimitedPrivate API but would like to open that up to other opinions. If we reach a consensus I would be happy to submit a jira to update our docs.
