Repository navigation
HIVE-30098: Vendor fb303.thrift so hive_metastore.thrift compiles without a separate fb303 install - #6826
HIVE-30098: Vendor fb303.thrift so hive_metastore.thrift compiles without a separate fb303 install#6826slachiewicz wants to merge 1 commit into
Conversation
…hout a separate fb303 install
|
| * fb303.thrift | ||
| */ | ||
|
|
||
| namespace java com.facebook.fb303 |
There was a problem hiding this comment.
nit: can we change the namespace to org.apache.hive.com.facebook.fb303 ? per my understanding, it should be compatible with old clients.
There was a problem hiding this comment.
I'd keep com.facebook.fb303 here. The wire format wouldn't change, but the namespace becomes the Java supertype of ThriftHiveMetastore.Iface (@Public @Stable) and the return type of getStatus(), so existing implementers of Iface would stop compiling. This PR only makes the IDL resolvable without changing any generated output.
|
can we remove the |
|
libfb303 still has to supply the Java classes: the generated |
|
It is only half way of the work. I faced with the same working on the thrift upgrade and made the same conclusion at my thrift upgrade PR here: #6653 Let me draw your attention on this commit specifically: 8aadf78 And I think this change is required too: https://github.com/apache/hive/pull/6653/changes#diff-deb369624f92d4833d1c243ccd5f97cac71a281cf39b7326bda9a1013fac728aL25 |
|
Closing as superseded. #6893 added |



What changes were proposed in this pull request?
Adds Thrift's
contrib/fb303/if/fb303.thriftasstandalone-metastore/metastore-common/include/share/fb303/if/fb303.thrift. The metastore-common Thrift execution already passes-I ${basedir}/include, soinclude "share/fb303/if/fb303.thrift"resolves there with no change to the IDL or the POM.Why are the changes needed?
The include currently resolves only through
-I ${thrift.home}, which requires fb303 to have been installed separately into the Thrift prefix. Thrift no longer installs it and declined to (THRIFT-6389), so regenerating the metastore bindings needs a manual download first. DroppingFacebookServiceitself is HIVE-18249.Does this PR introduce any user-facing change?
No. The file is identical in Thrift 0.16.0 (the pinned
libthrift.version), 0.24.0 and master.How was this patch tested?
Verified:
thrift -strict --gen java:beans,generated_annotations=undated --gen cpp --gen php --gen py --gen rbonhive_metastore.thrift→ 1327 files,diff -r-identical to the same run resolving fb303 through athrift.home-style prefix; without the file it fails withCould not find include file. Run with Thrift 0.24.0; I have not run thethriftifMaven profile with 0.16.0.