Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-7040

Update Protocol Buffers syntax to proto3

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.15.0
    • Future
    • Tools, Build & Test
    • None

    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:

      1. 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.
      2. 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.
      3. 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.
      4. Support for nested groups is excluded from proto3. This shouldn't be a problem as they are not used in Drill.
      5. Protostuff and protobuf-maven-plugin should be also updated which may cause some compatibility issues.

      Links to the language specs:
      Proto2
      Proto3

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              angozhiy Anton Gozhiy
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: