hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10069) Potential duplicate calls to log#appendNoSync() in HRegion#doMiniBatchMutation()
Date Wed, 11 Dec 2013 00:33:07 GMT

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

Mime
View raw message