[
https://issues.apache.org/jira/browse/BIGTOP-756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13647140#comment-13647140
]
Anatoli Fomenko commented on BIGTOP-756:
----------------------------------------
Some background:
* Package org.apache.hadoop.hbase.thrift
** Description: Provides an HBase Thrift service. This directory contains a
Thrift interface definition file for an HBase RPC service and a Java server
implementation.
** The org.apache.hadoop.hbase.thrift.generated.Hbase.Iface HBase API is
defined in the file Hbase.thrift. A server-side implementation of the API is in
ThriftServer. The generated interfaces, types, and RPC utility files reside in
the org.apache.hadoop.hbase.thrift.generated package.
* Package org.apache.hadoop.hbase.thrift2 Description
** Provides an HBase Thrift service. This package contains a Thrift interface
definition file for an HBase RPC service and a Java server implementation.
There are currently 2 thrift server implementations in HBase, the packages:
*** org.apache.hadoop.hbase.thrift: This may one day be marked as depreceated.
*** org.apache.hadoop.hbase.thrift2: i.e. this package. This is intended to
closely match to the HTable interface and to one day supercede the older thrift
(the old thrift mimics an API HBase no longer has).
** The HBase API is defined in the file hbase.thrift. A server-side
implementation of the API is in
org.apache.hadoop.hbase.thrift2.ThriftHBaseServiceHandler with the server
boiler plate in org.apache.hadoop.hbase.thrift2.ThriftServer. The generated
interfaces, types, and RPC utility files are checked into SVN under the
org.apache.hadoop.hbase.thrift2.generated directory.
* The Thrift API files can be generated by running the commands under the hbase
checkout dir (in this example, for Java):
{code}
thrift -strict --gen java:hashcode
./hbase-server/src/main/resources/org/apache/hadoop/hbase/[thrift|thrift2]/Hbase.thrift
{code}
* To install the generated API, move the generated files into place their
expected location under hbase:
{code}
mv gen-java/org/apache/hadoop/hbase/[thrift|thrift2]/generated/*
hbase-server/src/main/java/org/apache/hadoop/hbase/[thrift|thrift2]/generated/
{code}
* To clean up,remove the gen-java file made by thrift:
{code}
rm -rf gen-java
{code}
Suggestion:
* From above notes, the suggested file {code}
./src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift {code} along
with its more modern counterpart {code}
./src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift {code} is
required to build multi-language Thrift clients to access HBase via Thrift
server.
I would suggest, dittoing Roman's proposal, to make these files available as
follows:
{code}
/usr/lib/hbase/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
/usr/lib/hbase/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
{code}
> Provide the thrift API interface file in the HBase packages
> -----------------------------------------------------------
>
> Key: BIGTOP-756
> URL: https://issues.apache.org/jira/browse/BIGTOP-756
> Project: Bigtop
> Issue Type: Improvement
> Components: General
> Affects Versions: 0.5.0
> Reporter: Harsh J
> Assignee: Roman Shaposhnik
> Priority: Minor
> Fix For: 0.6.0
>
>
> HBase tarballs have this file:
> ./src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
> Which is essential to developers writing own libraries to talk with the
> thrift HBase server, and for other (dev-oriented) purposes.
> Currently, this isn't installed anywhere by RPMs; we could probably package
> it to aid developers. For non-Java HBase users, this is akin to looking for a
> jar.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira