[
https://issues.apache.org/jira/browse/HADOOP-9619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13675526#comment-13675526
]
Sanjay Radia commented on HADOOP-9619:
--------------------------------------
Here is the proposed rules that will be put in a file.
When a .proto file is marked as stable it means that changes should be made in
a compatible fashion. Compatibility can be broken at a major release, though
breaking compatibility even at major releases has grave consequences.
The following changes are *never* allowed.
* 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.
The following changes *cannot* be made to a *stable* .proto except at a major
release since they are considered *incompatible*.
* Modify a field type in an *incompatible* way (as defined recursively)
* Add or delete a required field
* Delete an optional field - Q. I am not sure if all our current optional
fields have reasonable defaults to allow deletions
The following changes 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.
* Rename a field
* Rename a .proto file
* Change .proto annotations that effect code generation (e.g. name of java
package)
> 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