[ 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.