[ https://issues.apache.org/jira/browse/HBASE-16992?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15637369#comment-15637369 ]
Hadoop QA commented on HBASE-16992: ----------------------------------- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s {color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} docker {color} | {color:red} 0m 45s {color} | {color:red} Docker failed to build yetus/hbase:b2c5d84. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12837229/HBASE-16992.branch-1.v0.patch | | JIRA Issue | HBASE-16992 | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/4335/console | | Powered by | Apache Yetus 0.3.0 http://yetus.apache.org | This message was automatically generated. > The usage of mutation from CP is weird. > --------------------------------------- > > Key: HBASE-16992 > URL: https://issues.apache.org/jira/browse/HBASE-16992 > Project: HBase > Issue Type: Bug > Affects Versions: 2.0.0, 1.3.0, 1.4.0 > Reporter: ChiaPing Tsai > Assignee: ChiaPing Tsai > Priority: Minor > Fix For: 2.0.0, 1.4.0, 1.3.1 > > Attachments: HBASE-16992.branch-1.v0.patch > > > {code:title=HRegion#doMiniBatchMutate|borderStyle=solid} > Mutation cpMutation = cpMutations[j]; > Map<byte[], List<Cell>> cpFamilyMap = cpMutation.getFamilyCellMap(); > checkAndPrepareMutation(cpMutation, replay, cpFamilyMap, now); > // Acquire row locks. If not, the whole batch will fail. > acquiredRowLocks.add(getRowLockInternal(cpMutation.getRow(), true)); > if (cpMutation.getDurability() == Durability.SKIP_WAL) { > recordMutationWithoutWal(cpFamilyMap); > } > // Returned mutations from coprocessor correspond to the Mutation at index i. > We can > // directly add the cells from those mutations to the familyMaps of this > mutation. > mergeFamilyMaps(familyMaps[i], cpFamilyMap); // will get added to the > memstore later > {code} > 1. Does the returned mutation from coprocessor have the same row as the > corresponded mutation? If so, the acquiredRowLocks() can be saved. If not, > the corresponded mutation may maintain the cells with different row due to > mergeFamilyMaps(). > 2. Is returned mutation's durability useful? If so, we should deal with the > different durabilities before mergeFamilyMaps(). If not, the > recordMutationWithoutWal can be saved. > 3. If both the returned mutation and corresponded mutation have > Durability.SKIP_WAL, the recordMutationWithoutWal() may record the duplicate > cells due to mergeFamilyMaps(). > Any comment? Thanks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)