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 Mon, 17 Jun 2013 18:01:26 GMT

    [ 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

Mime
View raw message