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

Update Protocol Buffers syntax to proto3

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.15.0
    • Fix Version/s: Future
    • Component/s: Tools, Build & Test
    • Labels:
      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

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

                Dates

                • Created:
                  Updated: