hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sanjay Radia (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-9619) Mark stability of .proto files
Date Wed, 05 Jun 2013 01:47:20 GMT

    [ 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

Mime
View raw message