[
https://issues.apache.org/jira/browse/HBASE-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12922173#action_12922173
]
Bryan Duxbury commented on HBASE-1744:
--------------------------------------
Stack asked me to take a look at your Thrift IDL. Here are the comments I came
up with:
- It's a little confusing to typedef binary to Bytes, but that's all cosmetic.
- All your files (types, admin, client) use the same java namespace. This means
they'll all generate a Constants.java with the same path, which means 2/3 of
them will be clobbered. You only have constants in one of the files, which is
good, but I think there's a good chance that class will be destroyed.
Otherwise, looks good to me.
> Thrift server to match the new java api.
> ----------------------------------------
>
> Key: HBASE-1744
> URL: https://issues.apache.org/jira/browse/HBASE-1744
> Project: HBase
> Issue Type: Improvement
> Components: thrift
> Reporter: Tim Sell
> Assignee: Lars Francke
> Priority: Critical
> Fix For: 0.92.0
>
> Attachments: HBASE-1744.preview.1.patch, 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.