[
https://issues.apache.org/jira/browse/HBASE-3588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13002344#comment-13002344
]
Ted Yu commented on HBASE-3588:
-------------------------------
The following change in MemStore would make TestHeapSize pass:
{code}
public final static long FIXED_OVERHEAD = ClassSize.align(
ClassSize.OBJECT + (12 * ClassSize.REFERENCE));
{code}
> 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