[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15263528#comment-15263528
]
Anoop Sam John commented on HBASE-15600:
----------------------------------------
{code}
// we pass (i - firstIndex) below since the call expects a relative index
3128 if (miniBatchOp.getOperationsFromCoprocessors(i - firstIndex) == null) {
3129 continue;
3130 }
3131 // Else Coprocessor added more Mutations corresponding to the Mutation at
this index.
3132 for (int j = 0; j < miniBatchOp.getOperationsFromCoprocessors(i).length;
j++) {
{code}
U changed the index in 1st place but missed the second "miniBatchOp.getOperationsFromCoprocessors(i)."
Better take this miniBatchOp.getOperationsFromCoprocessors(i - firstIndex) into a local
variable and use that.. Else there is always a chance to miss one place :-)
> Add provision for adding mutations to memstore or able to write to same region in batchMutate
coprocessor hooks
> ---------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-15600
> URL: https://issues.apache.org/jira/browse/HBASE-15600
> Project: HBase
> Issue Type: Improvement
> Reporter: Rajeshbabu Chintaguntla
> Assignee: Rajeshbabu Chintaguntla
> Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.20
>
> Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, HBASE-15600_v2.patch, hbase-15600_v3.patch,
hbase-15600_v4.patch, hbase-15600_v5.patch
>
>
> As part of PHOENIX-1734 we need to write the index updates to same region from coprocessors
but writing from batchMutate API is not allowed because of mvcc.
> Raised PHOENIX-2742 to discuss any alternative way to write to the same region directly
or not but not having any proper solution there.
> Currently we have provision to write wal edits from coprocessors. We can set wal edits
in MiniBatchOperationInProgress.
> {noformat}
> /**
> * Sets the walEdit for the operation(Mutation) at the specified position.
> * @param index
> * @param walEdit
> */
> public void setWalEdit(int index, WALEdit walEdit) {
> this.walEditsFromCoprocessors[getAbsoluteIndex(index)] = walEdit;
> }
> {noformat}
> Similarly we can allow to write mutations from coprocessors to memstore as well. Or else
we should provide the batch mutation API allow write in batch mutate coprocessors.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
|