Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-11319

Remove C++ Thrift code generation dependency on fb303

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • Impala 4.2.0
    • None
    • Infrastructure
    • None
    • ghx-label-2

    Description

      When generating C++ code for our Thrift data structures, a few Thrift files depend on fb303. Unfortunately, fb303 is part of the contrib directory for Thrift and has no guarantee of maintenance. In particular, C++ fb303 seems uncommon, so this can cause problems when trying to upgrade Thrift.

      The Thrift file that brings in the dependency on fb303 is hive_metastore.thrift's ThriftHiveMetastore service. Impala's C++ code only uses the regular thrift data structure from hive_metastore.thrift, and does not need the ThriftHiveMetastore service. It seems possible for us to eliminate the fb303 C++ dependency.

      One way to do that is to have a script the generates a modified hive_metastore.thrift file without the ThriftHiveMetastore service and without the include of fb303. Using this for the C++ Thrift compilation would generate code without the need for fb303. Python and Java would remain the same, because Python tests do use ThriftHiveMetastore.

      On the toolchain side, this would allow us to eliminate the C++ compilation of fb303.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            joemcdonnell Joe McDonnell

            Dates

              Created:
              Updated:

              Slack

                Issue deployment