Joe McDonnell created IMPALA-11319:
--------------------------------------

             Summary: Remove C++ Thrift code generation dependency on fb303
                 Key: IMPALA-11319
                 URL: https://issues.apache.org/jira/browse/IMPALA-11319
             Project: IMPALA
          Issue Type: Improvement
          Components: Infrastructure
    Affects Versions: Impala 4.2.0
            Reporter: Joe McDonnell


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.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to