hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ryan rawson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-3588) Proposal to optimize ReadWriteConsistencyControl
Date Wed, 02 Mar 2011 20:26:36 GMT

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

ryan rawson commented on HBASE-3588:

I had a few questions... This patch doesnt seem to remove the wait for the memstoreRead point
to catch up to the just-completed write... Do you see that as well?

Also it seems like every reader is going to have to do this sequence:
- get the most recent written value
- wait until it becomes readable

Does that seem right?  Every reader will have a little delay (on a busy region of course)
between when it starts and when it can start pulling data down.

One use case to worry about is a Row put followed by a CheckAndPut to the same row. I think
this patch looks like it respects that use case, can you verify?

> Proposal to optimize ReadWriteConsistencyControl
> ------------------------------------------------
>                 Key: HBASE-3588
>                 URL: https://issues.apache.org/jira/browse/HBASE-3588
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: dhruba borthakur
>            Assignee: dhruba borthakur
>         Attachments: rwcc.trunk.1, rwcc.trunk.1
> The ReadWriteConsistencyControl (RWCC) mechanism facilitates making a set of memstore
updates atomically visible to readers. Also, the rwcc.completeMemstoreInsert() blocks till
the memstore read point advances to the current writeNumber. This is done to ensure that if
an application that does a put immediately issues a new get call for the same key, then the
get should see the values inserted by the previous call to put. The current implementation
assumes this worst-case and penalizes the put rpc to not return to the client until the read
point advances to this transaction's write number.
> In many use-cases, the application never actually issues a get for the most recent put
that it inserted. In this case, it would be nice if we can transfer the penalty (of blocking)
to the get call that follows the initial put.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message