hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4102) atomicAppend: A put that appends to the latest version of a cell; i.e. reads current value then adds the bytes offered by the client to the tail and writes out a new entry
Date Mon, 10 Oct 2011 03:50:29 GMT

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

Ted Yu commented on HBASE-4102:
-------------------------------

{code}
+/**
+ * Testing of HRegion.incrementColumnValue
+ *
+ */
+public class TestAtomicOperation extends HBaseTestCase {
{code}
Javadoc should be updated for the new test.
For Mutation.java:
{code}
+   * @return the number of different families included in this put
+   */
+  public int numFamilies() {
{code}
I think put in javadoc should be mutation.
For Append.readFields():
{code}
+    if (version > APPEND_VERSION) {
+      throw new IOException("version not supported");
{code}
Value of version should be included in the exception.
For RegionCoprocessorHost.postAppend():
{code}
+   * @param appent Append object
{code}
there was a typo above.
For HRegion.append():
{code}
+  public Result append(Append append, Integer lockid, boolean writeToWAL)
+      throws IOException {
...
+    checkRow(row, "increment");
{code}
Second parameter above should be "append"

                
> atomicAppend: A put that appends to the latest version of a cell; i.e. reads current
value then adds the bytes offered by the client to the tail and writes out a new entry
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-4102
>                 URL: https://issues.apache.org/jira/browse/HBASE-4102
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: stack
>            Assignee: Lars Hofhansl
>         Attachments: 4102.txt
>
>
> Its come up a few times that clients want to add to an existing cell rather than make
a new cell each time.  At our place, the frontend keeps a list of urls a user has visited
-- their md5s -- and updates it as user progresses.  Rather than read, modify client-side,
then write new value back to hbase, it would be sweet if could do it all in one operation
in hbase server.  TSDB aims to be space efficient.  Rather than pay the cost of the KV wrapper
per metric, it would rather have a KV for an interval an in this KV have a value that is all
the metrics for the period.
> It could be done as a coprocessor but this feels more like a fundamental feature.
> BenoƮt suggests that atomicAppend take a flag to indicate whether or not the client
wants to see the resulting cell; often a client won't want to see the result and in this case,
why pay the price formulating and delivering a response that client just drops.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message