You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Guanghao Zhang (JIRA)" <ji...@apache.org> on 2018/12/25 09:50:00 UTC
[jira] [Commented] (HBASE-21640) Remove the TODO when increment
zero
[ https://issues.apache.org/jira/browse/HBASE-21640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16728648#comment-16728648 ]
Guanghao Zhang commented on HBASE-21640:
----------------------------------------
Another solution is add more variable and check for coprocessor... Maybe return a boolean to tell whether to apply or compare the returned cell with the old cell. :(
> Remove the TODO when increment zero
> -----------------------------------
>
> Key: HBASE-21640
> URL: https://issues.apache.org/jira/browse/HBASE-21640
> Project: HBase
> Issue Type: Improvement
> Reporter: Guanghao Zhang
> Assignee: Guanghao Zhang
> Priority: Major
> Attachments: HBASE-21640.master.001.patch
>
>
>
> {code:java}
> // If delta amount to apply is 0, don't write WAL or MemStore.
> long deltaAmount = getLongValue(delta);
> // TODO: Does zero value mean reset Cell? For example, the ttl.
> apply = deltaAmount != 0;
> {code}
> This is an optimization when increment 0. But it introduced some new problems.
> 1.As the TODO said, Does zero value mean reset ttl?
> 2.HBASE-17318 have to introduce a new variable "firstWrite" because it don't apply 0.
> 3. There is a coprocessor method postMutationBeforeWAL to return a new cell. But it may be not applied.
>
> {code:java}
> // Give coprocessors a chance to update the new cell
> if (coprocessorHost != null) {
> newCell =
> coprocessorHost.postMutationBeforeWAL(mutationType, mutation, currentValue, newCell);
> }
> // If apply, we need to update memstore/WAL with new value; add it toApply.
> if (apply || firstWrite) {
> toApply.add(newCell);
> }
> {code}
>
> So my proposal is remove this optimization. Any suggestions are welcomed.
>
>
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)