[
https://issues.apache.org/jira/browse/HBASE-3588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13002455#comment-13002455
]
dhruba borthakur commented on HBASE-3588:
-----------------------------------------
Thanks ted for fixing the unit test.
Ryan: I have not yet deployed this fix in our productin setup, the reason being
exactly the point u bring up... that a new read request gets delayed at startup
(till the readPoint advances to the most recently committed transaction). In
short, this patch makes the puts faster but makes the gets somewhat slower. I
am not sure that this is a good thing.
I would have somehow liked the put to not wait for the readPoint to advance to
the current transaction's writeNumber while at the same time ensuring that a
client will always see a previously committed transaction.
> 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