accumulo-notifications mailing list archives

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

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

Keith Turner commented on ACCUMULO-482:
---------------------------------------

More considerations
 * How do we let users specify that they want to let system set timestamp?
 * make it easy to write what you scan... writing PKey supports this
 * make it easy to make column updates to a row atomic... writing list<PKeyValue> really
works against this
 * how easy is it to write code against the API and how does code that uses the API look ...
I think this is really important... being forced to repeat the same row for a mutation works
against this

Thinking about this, we could really minimize structure overlap by making PKeyValue that was
composed of PKey, Value.  And then PKey composed of a row and PColumn.  I am thinking that
trying to minimize the structs like this makes it more cumbersome to write the code. 

{noformat}
  updates = [new PColumnValue(new PColumn("cf","cq1","cv",7),"val1"), new PColumnValue(new
PColumn("cf","cq2","cv",7),"val2")]
  deletes = [new PColumn("cf","cq3","cv",8)]
  Mutation m = new Mutation("row", updates, deletes);
{noformat}

If we had PColumnValue that was flat, I think the following code is easier to write than the
code above.  But this makes it more  cumbersome to write code that scans data and writes it
to another table.

{noformat}
  updates = [new PColumnValue("cf","cq1","cv",7,"val1"), new PColumnValue("cf","cq2","cv",7,"val2")]
  deletes = [new PColumn("cf","cq3","cv",8)]
  Mutation m = new Mutation("row", updates, deletes);
{noformat}


I do not think there will be any confusion when a user looks at these flat data structs. 
I suppose I think users will start with the functions and not the data structs. At least thats
what I would do.  For example I would look at the write method and see that it takes a mutation,
then I would look at mutation to see what it needs.

                
> 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