[ https://issues.apache.org/jira/browse/HBASE-18962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16279954#comment-16279954 ]
Chance Li commented on HBASE-18962: ----------------------------------- [~uagashe] I have not done the test now, just read the code. So what's index of the #resultOrException when catching the #doBatchOp exception? I think it should be builder#setException(pair) to set RegionActionResult fail, or do resultOrExceptionBuilder.setException one by one for all mutations , like {code} for (Action mutation : mutations) { builder.addResultOrException(getResultOrException(ie, mutation.getIndex())); } {code} > Support atomic BatchOperations through batchMutate() > ---------------------------------------------------- > > Key: HBASE-18962 > URL: https://issues.apache.org/jira/browse/HBASE-18962 > Project: HBase > Issue Type: Sub-task > Components: regionserver > Affects Versions: 2.0.0-alpha-3 > Reporter: Umesh Agashe > Assignee: Umesh Agashe > Fix For: 2.0.0-beta-1 > > Attachments: hbase-18962.master.001.patch, > hbase-18962.master.002.patch, hbase-18962.master.003.patch, > hbase-18962.master.004.patch > > > Support all mutations in BatchOperations to be applied atomically (all or > none) by locking all rows corresponding to mutations exclusively. > mutateRows() which uses MultiRowMutationProcessor applies all mutations > atomically and batchMutate() is non-atomic. To unify code paths, isAtomic() > attribute can be added to BatchOperations. -- This message was sent by Atlassian JIRA (v6.4.14#64029)