hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Francke (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HBASE-1744) Thrift server to match the new java api.
Date Sat, 16 Oct 2010 23:52:22 GMT

     [ https://issues.apache.org/jira/browse/HBASE-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Lars Francke updated HBASE-1744:
--------------------------------

    Attachment: HBASE-1744.preview.1.patch

This adds a patch with a lot of the stuff done. I don't know of any big missing or wrong things
with the new Thrift definition file except these:

* I have not added filters in any form
* I have not added row locks
* I added a version constant for the API and set it to 2.0.0 - I thought it might be a good
idea to expose a version number that shows if the API has changed and follows the regular
version number rules. Haven't added a thrift method yet. Good or bad idea?
* I'm not entirely sure about TDelete and the delete methods. There are so many different
meanings and I haven't managed to put them all in so far. Will have to think about that again

This also implements the Server part (which are mostly wrappers) and contains the beginnings
of an Admin interface (I was too lazy to weed that out from this preview now). Also: Tests
not done yet.

Before going much further I'd love to get some general feedback on the HbaseClient.thrift
and Types.thrift file. Does this API work for you or does it need changes?

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


Mime
View raw message