Ted Yu created HBASE-10069:
------------------------------
Summary: Potential duplicate calls to log#appendNoSync() in
HRegion#doMiniBatchMutation()
Key: HBASE-10069
URL: https://issues.apache.org/jira/browse/HBASE-10069
Project: HBase
Issue Type: Task
Reporter: Ted Yu
Priority: Minor
In HRegion#doMiniBatchMutation():
{code}
if (nonceGroup != currentNonceGroup || nonce != currentNonce) {
if (walEdit.size() > 0) {
assert isInReplay;
txid = this.log.appendNoSync(this.getRegionInfo(),
htableDescriptor.getTableName(),
walEdit, m.getClusterIds(), now, htableDescriptor,
this.sequenceId, true,
currentNonceGroup, currentNonce);
hasWalAppends = true;
}
currentNonceGroup = nonceGroup;
currentNonce = nonce;
}
// Add WAL edits by CP
WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];
if (fromCP != null) {
for (KeyValue kv : fromCP.getKeyValues()) {
walEdit.add(kv);
}
}
...
Mutation mutation = batchOp.getMutation(firstIndex);
if (walEdit.size() > 0) {
txid = this.log.appendNoSync(this.getRegionInfo(),
this.htableDescriptor.getTableName(),
walEdit, mutation.getClusterIds(), now, this.htableDescriptor,
this.sequenceId,
true, currentNonceGroup, currentNonce);
hasWalAppends = true;
}
{code}
If fromCP is null, there may not be new edits added to walEdit.
But log#appendNoSync() would be called one more time at line 2368.
--
This message was sent by Atlassian JIRA
(v6.1#6144)