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.

Reply via email to