You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2013/12/11 01:25:07 UTC

[jira] [Updated] (HBASE-10069) Potential duplicate calls to log#appendNoSync() in HRegion#doMiniBatchMutation()

     [ https://issues.apache.org/jira/browse/HBASE-10069?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Shelukhin updated HBASE-10069:
-------------------------------------

    Attachment: HBASE-10069.patch

> 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
>         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)