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)

Reply via email to