[
https://issues.apache.org/jira/browse/DRILL-7040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anton Gozhiy updated DRILL-7040:
--------------------------------
Description:
Updating of protobuf library version is addressed by DRILL-6642.
Although we still use proto2 syntax. To update the syntax to proto3 we need to
meet some requirements:
# Proto3 doesn't support required fields. So it is needed to change all
existing required fields to optional. If we expect such fields to be always
present in the messages, we need to revisit the approach.
# Custom default values are no more supported. And Drill uses custom defaults
in some places. The impact from removal of them should be further investigated,
but it would definitely require changes in logic.
# No more ability to determine if a missing field was not included, or was
assigned the default value. Need investigation whether it is used in code.
# Support for nested groups is excluded from proto3. This shouldn't be a
problem as they are not used in Drill.
# Protostuff and protobuf-maven-plugin should be also updated which may cause
some compatibility issues.
Links to the language specs:
[Proto2|https://developers.google.com/protocol-buffers/docs/proto]
[Proto3|https://developers.google.com/protocol-buffers/docs/proto3]
was:
Updating of protobuf library version is addressed by DRILL-6642.
Although we still use proto2 syntax. To update the syntax to proto3 we need to
meet some requirements:
# Proto3 doesn't support required fields. So it is needed to change all
existing required fields to optional. If we expect such fields to be always
present in the messages, we need to revisit the approach.
# Custom default values are no more supported. And Drill uses custom defaults
in some places. The impact from removal of them should be further investigated,
but it would definitely require changes in logic.
# No more ability to determine if a missing field was not included, or was
assigned the default value. Need investigation whether it is used in code.
# Support for nested groups is excluded from proto3. This shouldn't be a
problem as they are not used in Drill.
# Protostuff and protobuf-maven-plugin should be also updated which may cause
some compatibility issues.
> Update Protocol Buffers syntax to proto3
> ----------------------------------------
>
> Key: DRILL-7040
> URL: https://issues.apache.org/jira/browse/DRILL-7040
> Project: Apache Drill
> Issue Type: Task
> Affects Versions: 1.15.0
> Reporter: Anton Gozhiy
> Priority: Major
>
> Updating of protobuf library version is addressed by DRILL-6642.
> Although we still use proto2 syntax. To update the syntax to proto3 we need
> to meet some requirements:
> # Proto3 doesn't support required fields. So it is needed to change all
> existing required fields to optional. If we expect such fields to be always
> present in the messages, we need to revisit the approach.
> # Custom default values are no more supported. And Drill uses custom defaults
> in some places. The impact from removal of them should be further
> investigated, but it would definitely require changes in logic.
> # No more ability to determine if a missing field was not included, or was
> assigned the default value. Need investigation whether it is used in code.
> # Support for nested groups is excluded from proto3. This shouldn't be a
> problem as they are not used in Drill.
> # Protostuff and protobuf-maven-plugin should be also updated which may cause
> some compatibility issues.
> Links to the language specs:
> [Proto2|https://developers.google.com/protocol-buffers/docs/proto]
> [Proto3|https://developers.google.com/protocol-buffers/docs/proto3]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)