[ 
https://issues.apache.org/jira/browse/HIVE-5159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13755114#comment-13755114
 ] 

Jason Dere commented on HIVE-5159:
----------------------------------

Just want to get a bit of clarification on this issue, since it goes against 
the "required is forever" guideline described in 
https://developers.google.com/protocol-buffers/docs/proto#simple.

If I understand correctly, the issue is when an older client receives newer 
Type value, containing a Kind enum that didn't exist at the time the older 
client was built. In this situation the Kind value is set as NULL.  Is the 
point of setting Kind as optional field of Type so that you would have the 
ability to call hasKind() on the Type and do appropriate error handling? 
Looking at OrcProto.java it appears that there is such a Type.hasKind() method 
already, so this use case is already covered. Or is there another use case that 
you are thinking of here?
                
> Change the kind fields in ORC's proto file to optional
> ------------------------------------------------------
>
>                 Key: HIVE-5159
>                 URL: https://issues.apache.org/jira/browse/HIVE-5159
>             Project: Hive
>          Issue Type: Bug
>          Components: File Formats
>            Reporter: Owen O'Malley
>            Assignee: Jason Dere
>
> Java's protobuf generated code uses a null value to represent enum values 
> that were added after the reader was compiled. To reflect that reality, the 
> enum values should always be marked as optional.

--
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

Reply via email to