Guanghao Zhang created HBASE-21640: -------------------------------------- Summary: 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
{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)