Sylwester Lachiewicz created THRIFT-6389:
--------------------------------------------
Summary: Install fb303.thrift so that IDL including
share/fb303/if/fb303.thrift resolves without a separate download
Key: THRIFT-6389
URL: https://issues.apache.org/jira/browse/THRIFT-6389
Project: Thrift
Issue Type: Improvement
Components: Build Process
Reporter: Sylwester Lachiewicz
Apache Hive's
[hive_metastore.thrift|https://github.com/apache/hive/blob/master/standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift]
starts with {{include "share/fb303/if/fb303.thrift"}}, and
{{ThriftHiveMetastore}} extends {{fb303.FacebookService}}. Every project that
generates a Hive metastore client needs that file on its include path. Thrift
no longer installs it: contrib/fb303 is not part of the top-level build, and
the Homebrew 0.24.0 package ships no fb303.thrift. So downstream build scripts
download it from the Thrift repository at a tag matching their runtime version;
hms-client-go's scripts/gen-thrift.sh is one example.
Installing fb303.thrift with the compiler, under
{{$datadir/thrift/share/fb303/if/}}, and searching that directory after the
{{-I}} paths, would let {{thrift -r --gen <lang> hive_metastore.thrift}} work
without the extra step.
If the project would rather retire fb303, a short note in contrib/fb303/README
with the file's stable URL would still help consumers of the Hive IDL.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)