[ https://issues.apache.org/jira/browse/HBASE-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12801055#action_12801055 ]
Lars Francke commented on HBASE-1744: ------------------------------------- I'm sorry for the lack of updates. I've not gotten much done over the holidays and just brought myself up to date again - once I'm finished struggling with Ivy I'll get back to work and I'll report back. As far as I remember there was nothing particular that I was struggling with in regards to Thrift. Filters and row locking are two things still on my list but I haven't spent much time on them, so I hope to find a solution there. As the old Thrift API stays for at least HBase 0.21 before it is deprecated we'll need to update the thrift jar and introduce two new dependencies (SLF4J) to HBase. Those can be removed again once thrift has moved completely to contrib in 0.22 (I presume). @Admin API: I think I can offer an option ("--admin") or something like that so that this part becomes optional. Would that be acceptable? One service can extend another so I'd define a ThriftInterace and an ExtendedThriftInterface (with the Admin options). @Bassam Tabbara: With unions that should be possible but those suckers aren't documented anywhere and I haven't dug into the code/details for those. I'll just wait what happens with the issue you've mentioned and will try to implement this. > 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: Hbase.thrift, 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.