[
https://issues.apache.org/jira/browse/HADOOP-9619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13685776#comment-13685776
]
Sanjay Radia commented on HADOOP-9619:
--------------------------------------
When a .proto file is marked as stable it means that changes should be made in
a compatible fashion. Compatibility can be broken only at a major release,
though breaking compatibility even at major releases has grave consequences and
should be discussed in the Hadoop community.
The following changes are compatible and are allowed at any time
* Add an optional field, with the expectation that the code deals with the
field missing due to communication with an older version of the code.
* Add a new rpc/method to the service
* Add a new optional request to a Message
* Rename a field
* Rename a .proto file
* Change .proto annotations that effect code generation (e.g. name of java
package)
The following changes are incompatible but can be considered a major release
for a stable .proto interface
* Change the rpc/method name
* Change the rpc/method parameter type or return type
* Remove an rpc/method
* Change the service name
* Change the name of a Message
* Modify a field type in an incompatible way (as defined recursively)
* Change an optional field to required
* Add or delete a required field
* Delete an optional field as long as the optional field has reasonable
defaults to allow deletions
The following changes are incompatible and hence never allowed for a stable
.proto interface
* Change a field id
* Reuse an old field that was previously deleted.
Field numbers are cheap and changing and reusing is not a good idea.
> Mark stability of .proto files
> ------------------------------
>
> Key: HADOOP-9619
> URL: https://issues.apache.org/jira/browse/HADOOP-9619
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: documentation
> Reporter: Sanjay Radia
> Assignee: Sanjay Radia
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira