You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Vitalii Diravka (JIRA)" <ji...@apache.org> on 2018/10/30 13:14:00 UTC

[jira] [Comment Edited] (DRILL-6642) Update protocol-buffers version

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

Vitalii Diravka edited comment on DRILL-6642 at 10/30/18 1:13 PM:
------------------------------------------------------------------

Some of the features of Proto2 that are not present in Proto3:
{quote}1. Required message fields. This can be useful for things like SOW (State-of-the-World) keys.
 2. Ability to set custom default values for a field.
 3. Ability to determine if a missing field was not included, or was assigned the default value. This is needed for AMPS to use delta messaging.
{quote}
The _required_ message fields are used in some proto files. It is necessary to investigate how to replace it and whether _optional_ fit there. 
 "2" should not be the issue. I haven't seen custom default values in Drill. 
 Not sure about 3, so TBI in the process of updating.

Paul also mentioned in DRILL-5509:
{quote}This will require updating the Maven protobuf plugin, and may require other upgrades as well.
{quote}
[~priteshm]
 If all Proto2 vs Proto3 differences could be addressed the backward compatibility is preserved.
 Looks like the test cases should cover all proto messages in the process of running _drillbit_ process and different connections to it.
 The last issues related to _protobuf_ were displaying operators in Profiles DRILL-6639, so until Drill UI is automated this part could be verified manually.


was (Author: vitalii):
Some of the features of Proto2 that are not present in Proto3:
{quote}1. Required message fields. This can be useful for things like SOW keys.
 2. Ability to set custom default values for a field.
 3. Ability to determine if a missing field was not included, or was assigned the default value. This is needed for AMPS to use delta messaging.
{quote}
The _required_ message fields are used in some proto files. It is necessary to investigate how to replace it and whether _optional_ fit there. 
 "2" should not be the issue. I haven't seen custom default values in Drill. 
 Not sure about 3, so TBI in the process of updating.

Paul also mentioned in DRILL-5509:
{quote}This will require updating the Maven protobuf plugin, and may require other upgrades as well.
{quote}
[~priteshm]
If all Proto2 vs Proto3 differences could be addressed the backward compatibility is preserved.
Looks like the test cases should cover all proto messages in the process of running _drillbit_ process and different connections to it.
The last issues related to _protobuf_ were displaying operators in Profiles DRILL-6639, so until Drill UI is automated this part could be verified manually.

> Update protocol-buffers version
> -------------------------------
>
>                 Key: DRILL-6642
>                 URL: https://issues.apache.org/jira/browse/DRILL-6642
>             Project: Apache Drill
>          Issue Type: Task
>          Components: Tools, Build &amp; Test
>    Affects Versions: 1.14.0
>            Reporter: Vitalii Diravka
>            Assignee: Vitalii Diravka
>            Priority: Major
>             Fix For: 1.15.0
>
>
> Currently Drill uses 2.5.0 {{protocol-buffers}} version.
>  The last version is 3.6.0 in maven repo: [https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java]
> The new version has a lot of useful enhancements, which can be used in Drill.
>  One of them is using {{UNRECOGNIZED Enum NullValue}}, which can help to handle them in place of null values for {{ProtocolMessageEnum}} - DRILL-6639. 
>  Looks like the NullValue can be used instead of null returned from {{valueOf()}} (_or {{forNumber()}}, since {{valueOf()}} is deprecated in the newer protobuf version_):
>  [https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/NullValue]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)