[
https://issues.apache.org/jira/browse/HBASE-10069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13844871#comment-13844871
]
Ted Yu commented on HBASE-10069:
--------------------------------
Thanks for the fix, Sergey.
lgtm
{code}
assert isInReplay;
+ if (!isInReplay) {
{code}
nit: the assertion is no longer needed.
> 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: Bug
> Reporter: Ted Yu
> Assignee: Sergey Shelukhin
> Priority: Minor
> Attachments: HBASE-10069.patch
>
>
> 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.4#6159)