You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Allan Yang (JIRA)" <ji...@apache.org> on 2018/12/27 14:11:00 UTC

[jira] [Comment Edited] (HBASE-21649) Complete Thrift2 to supersede Thrift1

    [ https://issues.apache.org/jira/browse/HBASE-21649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16729624#comment-16729624 ] 

Allan Yang edited comment on HBASE-21649 at 12/27/18 2:10 PM:
--------------------------------------------------------------

[~busbey], as I addressed above, the interface definition in thrift1 is terrible to add new features.(There are at least 5 versions of Get interface in thrift1, more are needed if we want to support cacheBlock toggle for example) We need thrift2 which can evolve easily.
The reason why thrift2 is not commonly used is that thrift2 interface is not complete, that is major goal of this issue. 
As for the depreciation, old users should not be worry about it, the code will be still there for a long time, until thrift2 is good enough and more commonly used. And I will make the new thrift2 server can support both thrift1 and thrift2 requests. People can start one thrift server and feel free to choose thrift1 or 2. 
The deprecation of thrift1 only means all the new feature will go to thrift2, only bugfix will go to thrift1.  


was (Author: allan163):
[~busbey], as I addressed above, the interface definition in thrift1 is terrible to add new features.(There are at least 5 versions of Get interface in thrift1) We need thrift2 which can evolve easily.
The reason why thrift2 is not commonly used is that thrift2 interface is not complete, that is major goal of this issue. 
As for the depreciation, old users should not be worry about it, the code will be still there for a long time, until thrift2 is good enough and more commonly used. And I will make the new thrift2 server can support both thrift1 and thrift2 requests. People can start one thrift server and feel free to choose thrift1 or 2. 
The deprecation of thrift1 only means all the new feature will go to thrift2, only bugfix will go to thrift1.  

> Complete Thrift2 to supersede Thrift1
> -------------------------------------
>
>                 Key: HBASE-21649
>                 URL: https://issues.apache.org/jira/browse/HBASE-21649
>             Project: HBase
>          Issue Type: Umbrella
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>            Priority: Major
>             Fix For: 3.0.0, 2.2.0
>
>
> Thrift1 and Thrift2 coexists in our project for a very long time. Functionality is more complete in thrift1 but its interface design is bad for adding new features(so we have get(), getVer(),getVerTs,getRowWithColumns() and so many other methods for a single get request, this is bad). Thrift2 has a more clean interface and structure definition, making our user more easy to use. But, it has not been updated for a long time, lacking of DDL method is a major weakness. 
> I think we should complete Thrift2 and supersede Thrift1, making Thrift2 as the standard multi language definition. This is a umbrella issue to make it happen. 
> The plan would be:
> 1. Complete the DDL interface of thrift2
> 2. Making thrift2 server be able to handle thrift1 requests, user don't have to choose which thrift server they need to start
> 3. Deprecate thrift1



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)