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)