[ https://issues.apache.org/jira/browse/HBASE-3588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13002456#comment-13002456 ]
Ted Yu commented on HBASE-3588: ------------------------------- If we can provide two policies that the user can choose for the particular workload, that would be nice. > 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