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

Vitalii Diravka commented on DRILL-6642:
----------------------------------------

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

Reply via email to