Sylwester Lachiewicz created HIVE-30098:
-------------------------------------------

             Summary: Vendor fb303.thrift so hive_metastore.thrift compiles 
without a separate fb303 install
                 Key: HIVE-30098
                 URL: https://issues.apache.org/jira/browse/HIVE-30098
             Project: Hive
          Issue Type: Improvement
          Components: Standalone Metastore
            Reporter: Sylwester Lachiewicz


[hive_metastore.thrift|https://github.com/apache/hive/blob/master/standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift]
 includes {{share/fb303/if/fb303.thrift}}, which resolves only through {{-I 
${thrift.home}}}, meaning a Thrift install prefix into which contrib/fb303 was 
installed separately. Current Thrift releases do not install it, and the Thrift 
project declined to start 
([THRIFT-6389|https://issues.apache.org/jira/browse/THRIFT-6389]): fb303 is 
unmaintained contrib there. So regenerating the metastore bindings, in Hive or 
in any downstream client, requires downloading fb303.thrift from the Thrift 
repository first.

[standalone-metastore/metastore-common/pom.xml|https://github.com/apache/hive/blob/master/standalone-metastore/metastore-common/pom.xml]
 already passes {{-I ${basedir}/include}}, and that directory does not exist. 
Adding 
[contrib/fb303/if/fb303.thrift|https://github.com/apache/thrift/blob/master/contrib/fb303/if/fb303.thrift]
 as 
{{standalone-metastore/metastore-common/include/share/fb303/if/fb303.thrift}} 
makes the include resolve with no change to the IDL or the build, and keeps the 
generated code byte-identical.

This leaves the wire API unchanged; dropping {{FacebookService}} altogether is 
[HIVE-18249|https://issues.apache.org/jira/browse/HIVE-18249].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to