[ https://issues.apache.org/jira/browse/HBASE-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12783460#action_12783460 ]
Andrew Purtell commented on HBASE-1744: --------------------------------------- The way I would like to see this happen is for us to build a replacement Thrift connector to contrib/ (HBASE-1846) while keeping the current Thrift package in core for one release. This is what happened with Stargate. It and the old REST connector coexist in 0.20.x, with Stargate residing in contrib/src/stargate/, but only Stargate will remain in 0.21.x. This gives the freedom to do things differently (but, presumed, better) in the new contrib. So in the case of Thrift, there would be two connectors in 0.21, with the in-core connector scheduled to go away in 0.22. > Thrift server to match the new java api. > ---------------------------------------- > > Key: HBASE-1744 > URL: https://issues.apache.org/jira/browse/HBASE-1744 > Project: Hadoop HBase > Issue Type: Improvement > Components: thrift > Reporter: Tim Sell > Assignee: Tim Sell > Fix For: 0.21.0 > > Attachments: thriftexperiment.patch > > > This mutateRows, etc.. is a little confusing compared to the new cleaner java > client. > Thinking of ways to make a thrift client that is just as elegant. something > like: > void put(1:Bytes table, 2:TPut put) throws (1:IOError io) > with: > struct TColumn { > 1:Bytes family, > 2:Bytes qualifier, > 3:i64 timestamp > } > struct TPut { > 1:Bytes row, > 2:map<TColumn, Bytes> values > } > This creates more verbose rpc than if the columns in TPut were just > map<Bytes, map<Bytes, Bytes>>, but that is harder to fit timestamps into and > still be intuitive from say python. > Presumably the goal of a thrift gateway is to be easy first. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.