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

Vinayakumar B commented on HADOOP-13363:
----------------------------------------

If you are specifically pointing to above mentioned Spark/Hive's case, I could 
compile the spark from its root, by passing {{-Dprotobuf.version=3.7.1}}.

In Spark's root pom.xml protobuf-2.5.0 is explicitly added as dependency to 
avoid problem in maven auto resolution to different version. As per comments 
this dependency is only for hadoop/yarn.

 
{quote} If we are passing protobuf types around, either as inputs or outputs. 
Then we cannot shade the artifacts. And so: we cannot update protobuf 
"transparently".

{color:#172b4d}For Token, if that toProbuf method is considered private, well, 
we could move the operation out into its own class and invoke passing in a 
Token instance, but it is probably a symptom of a bigger problem -protobuf 
types in public APIs{color}
{quote}
 

IMO, Token's API change will not be problematic in normal cases.

{{TokenProto}} is a generated class, whose package will not change, but its 
super class changes to {{GeneratedMessageV3}} from {{GeneratedMessage}}.

Direct usages of {{TokenProto}} or its {{Builder}} will not be a problem. It 
can be problematic if application is embedding tokenproto in some other proto 
message, for which code is generated using 2.5.0, or using common 
{{GeneratedMessage}} as type for {{TokenProto}}. But this is unlikely as this 
feature is only provided in Hadoop-3.0.0 onwards.

Otherwise, I think it won't be a problem.

 

> Upgrade protobuf from 2.5.0 to something newer
> ----------------------------------------------
>
>                 Key: HADOOP-13363
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13363
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 3.0.0-alpha1, 3.0.0-alpha2
>            Reporter: Anu Engineer
>            Assignee: Vinayakumar B
>            Priority: Major
>              Labels: security
>         Attachments: HADOOP-13363.001.patch, HADOOP-13363.002.patch, 
> HADOOP-13363.003.patch, HADOOP-13363.004.patch, HADOOP-13363.005.patch
>
>
> Standard protobuf 2.5.0 does not work properly on many platforms.  (See, for 
> example, https://gist.github.com/BennettSmith/7111094 ).  In order for us to 
> avoid crazy work arounds in the build environment and the fact that 2.5.0 is 
> starting to slowly disappear as a standard install-able package for even 
> Linux/x86, we need to either upgrade or self bundle or something else.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to