accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Fuchs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-482) Add a thrift proxy server
Date Tue, 13 Nov 2012 18:46:13 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13496407#comment-13496407
] 

Adam Fuchs commented on ACCUMULO-482:
-------------------------------------

We're trying to simultaneously optimize for a number of factors in this API. The three that
matter for picking which write methods to support are:
 # Make it as easy to use as possible
   ## Keep the objects intuitive
   ## Expose all the functionality via a minimal set of methods
   ## Also use a minimal set of data objects
 # Make it fast
   ## Support batching of writes
   ## Minimize data transmission via natural hierarchical encoding, etc.
   ## Drive users towards the most efficient use by avoiding adding inefficient methods
 # Make it maintainable
   ## Use a minimal set of methods and objects

On the one hand, introducing a PColumnUpdate object violates 1.3, but using a PMutation that
could throw an exception because the PKeyValue objects are not in the same row violates 1.1.
We could support both the PMutation with PColumnUpdate objects, and also support a write method
that takes a PKeyValue or a list of PKeyValue. That would seem to get around 1.3 by not requiring
that users learn part of the API, but it doesn't really help with 1.2 or 3.1.

An additional alternative would be to support writes via only the following method:

{code}
oneway void write(1:binary writerToken, 2:list<PKeyValue> inserts, 3:list<PKey>
deletes);
{code}

The semantics of this write function would be such that all inserts and deletes within the
same row will be applied via the same mutation. Keys across multiple rows will be applied
in multiple mutations (one per row). While this does nothing for 2.2, I think this might be
the best we can do to optimize across all of the factors listed above.
                
> Add a thrift proxy server
> -------------------------
>
>                 Key: ACCUMULO-482
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-482
>             Project: Accumulo
>          Issue Type: New Feature
>            Reporter: Sapan Shah
>            Assignee: Chris McCubbin
>         Attachments: accumulo482patch-A.diff, accumulo482patch.diff
>
>
> Add a thrift proxy server to make integration with other languages besides Java a bit
easier.  This should work like http://wiki.apache.org/hadoop/Hbase/ThriftApi.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message