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