Description
In HRegion#doMiniBatchMutation():
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; }
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.
Attachments
Attachments
Issue Links
- is broken by
-
HBASE-3787 Increment is non-idempotent but client retries RPC
- Closed