[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16022430#comment-16022430 ] Hudson commented on HBASE-15600: FAILURE: Integrated in Jenkins build Phoenix-master #1621 (See [https://builds.apache.org/job/Phoenix-master/1621/]) PHOENIX-3827 Make use of HBASE-15600 to write local index mutations (rajeshbabu: rev a2f4d7eebec621b58204a9eb78d552f18dcbcf24) * (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildWithNamespaceEnabledIT.java * (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildIT.java * (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/hbase/index/Indexer.java > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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.15#6346)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15811959#comment-15811959 ] ChiaPing Tsai commented on HBASE-15600: --- My cat messed up my keyboard... sorry for making noise. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15338387#comment-15338387 ] Mikhail Antonov commented on HBASE-15600: - please open follow up jiras if backports are needed > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15338386#comment-15338386 ] Mikhail Antonov commented on HBASE-15600: - [~enis] [~rajeshbabu] [~busbey] I'm marking it as resolved as it seems to be committed where it should be > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15335533#comment-15335533 ] Mikhail Antonov commented on HBASE-15600: - Oops, sorry - didn't notice it's been committed before. Sorry for the noise. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15335529#comment-15335529 ] Mikhail Antonov commented on HBASE-15600: - Kicked out of 1.3 > 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 > Labels: phoenix > Fix For: 2.0.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15335434#comment-15335434 ] Nick Dimiduk commented on HBASE-15600: -- I'm struggling examples to cite, but I think we've already said that LP.Coproc APIs are quasi-exempt from our semantic-ish versioning guidelines. We want to be a hospitable environment for extension projects like Phoenix (and Trafodion, and..), all of which by design are monkeying in HBase guts to provide a better user experience. I'm definitely sympathetic to the position of Phoenix having to explain different semantics for the same feature, on the same Phoenix release, based on which HBase version a user is running. But does that mean a new release of HBase 1.0 would be required if Phoenix "demands" it? I'm not sure where to draw the line on accommodation. Yeah, sounds like a dev@ discussion is in order. I think a better understanding of how sensitive Phoenix is to HBase patch releases, a la [PHOENIX-2732|https://issues.apache.org/jira/browse/PHOENIX-2732?focusedCommentId=15335405&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15335405], would help fuel this discussion. Also [~enis], I'm curious if Phoenix v4.7.0 release runs on an HBase 1.1.x + this patch. That will be a good indicator as to the backward-compatibility implications of the attached. Shy of a compat report, that is. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15321612#comment-15321612 ] Sean Busbey commented on HBASE-15600: - this sounds like more of a reason for a dev@ thread. Just because a class is in some IA.Public or IA.LimitedPrivate method signature doesn't mean that it automatically should be considered at that level. IIRC, you can get to HRegion from our LP API. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15321379#comment-15321379 ] Enis Soztutar commented on HBASE-15600: --- bq. Patch also expands MiniBatchOperationInProgress from Private to LimitedPrivate(Coprocessor). I'd rather not add new LP APIs in a maintenance release, but I don't think our policy prohibits it? MiniBatchOperationInProgress has always been coprocessor-visible, but it was marked wrong. The preBatchMutate() signature already contains the class, so in that sense, we are not opening up a new API, rather we are fixing an incorrect API marking. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15321112#comment-15321112 ] Sean Busbey commented on HBASE-15600: - Patch also expands MiniBatchOperationInProgress from Private to LimitedPrivate(Coprocessor). I'd rather not add new LP APIs in a maintenance release, but I don't think our policy prohibits it? Can you start a brief [DISCUSS] on dev@? > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15321078#comment-15321078 ] Enis Soztutar commented on HBASE-15600: --- [~ndimiduk], [~busbey] any thoughts about this going into 1.1 and 1.2 respectively? This is new feature for sure, and according to the guidelines we should not push this to 1.1, and 1.2. But I think we can make an exception for this case, since the new local index re-write in Phoenix needs to depend on this to have atomic local index updates and overall better throughput. Phoenix will likely still depend on 1.1 and 1.2 for some more time. As for the patch, it adds a new method in a InterfaceAudience.LimitedPrivate(Coprocessor). I think the binary compat is not affected unless you are using the new method, but we can check that with a report. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15320203#comment-15320203 ] Hudson commented on HBASE-15600: FAILURE: Integrated in HBase-Trunk_matrix #1009 (See [https://builds.apache.org/job/HBase-Trunk_matrix/1009/]) HBASE-15600 Add provision for adding mutations to memstore or able to (enis: rev d05a3722c8347363eb04a3e5457d13ae5d0d6de6) * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.java > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15320142#comment-15320142 ] Hudson commented on HBASE-15600: SUCCESS: Integrated in HBase-1.3-IT #696 (See [https://builds.apache.org/job/HBase-1.3-IT/696/]) HBASE-15600 Add provision for adding mutations to memstore or able to (enis: rev 2bba03cf5ad925e8644cea0d22180eb527a9b067) * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.java * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15320107#comment-15320107 ] Hudson commented on HBASE-15600: FAILURE: Integrated in HBase-1.3 #728 (See [https://builds.apache.org/job/HBase-1.3/728/]) HBASE-15600 Add provision for adding mutations to memstore or able to (enis: rev 2bba03cf5ad925e8644cea0d22180eb527a9b067) * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15320035#comment-15320035 ] Hudson commented on HBASE-15600: FAILURE: Integrated in HBase-1.4 #202 (See [https://builds.apache.org/job/HBase-1.4/202/]) HBASE-15600 Add provision for adding mutations to memstore or able to (enis: rev 602b2839c688b96a57389bbfe20cd0e2073f22e6) * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15319951#comment-15319951 ] Anoop Sam John commented on HBASE-15600: As per discussion in another Jira, it was concluded that these kind of new features should not be committed to patch branches. So am not sure. Ping RMs > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15319949#comment-15319949 ] Rajeshbabu Chintaguntla commented on HBASE-15600: - [~enis] I need this in 0.98 , 1.0 , 1.1 and 1.2 branches for phoenix. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15319939#comment-15319939 ] Enis Soztutar commented on HBASE-15600: --- [~chrajeshbab...@gmail.com] for Phoenix to start using this, do we need this in 1.1 and 1.2 as well? Normally this is a new feature, but maybe we can make a case. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15319936#comment-15319936 ] Enis Soztutar commented on HBASE-15600: --- bq. Can change on commit if you agree Enis. +1 Thanks Anoop. I've pushed this to 1.3+ with this change. Keeping open for 0.98 patch. > 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 > Labels: phoenix > Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.patch, hbase-15600_v3.patch, hbase-15600_v4.patch, > hbase-15600_v5.patch, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303317#comment-15303317 ] Anoop Sam John commented on HBASE-15600: Sorry if I was not clear abt the last comment {code} checkAndPrepareMutation(cpMutation, replay, cpFamilyMap, now); 3125 3126 // Acquire row locks. If not, the whole batch will fail. 3127 acquiredRowLocks.add(getRowLock(cpMutation.getRow(), true)); {code} checkRow() is done already in checkAndPrepareMutation(). getRowLock() is going to do it again , instead if we use getRowLockInternal() that step is avoided. Not a big deal, still better we can avoid 2 compare ops. Can change on commit if you agree Enis. +1 > 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 > Labels: phoenix > 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, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303218#comment-15303218 ] Enis Soztutar commented on HBASE-15600: --- [~anoop.hbase], [~ramkrishna.s.vasude...@gmail.com] any more comments on v6? I've talked to [~chrajeshbab...@gmail.com] offline, and he has a patch in Phoenix to do the corresponding changes in local index code. So it seems that we can go ahead with this patch. > 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 > Labels: phoenix > 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, hbase-15600_v6.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15271542#comment-15271542 ] Hadoop QA commented on HBASE-15600: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s {color} | {color:green} The patch appears to include 1 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 57s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 59s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 39s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 5m 21s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 18s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 38s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 43s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 49s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 59s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 2s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 2s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 46s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 46s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 4m 44s {color} | {color:red} hbase-server: patch generated 1 new + 217 unchanged - 1 fixed = 218 total (was 218) {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 19s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} Patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 11m 55s {color} | {color:green} Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 10s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 1s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 42s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 147m 52s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 19s {color} | {color:green} Patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 188m 53s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.io.asyncfs.TestSaslFanOutOneBlockAsyncDFSOutput | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12802262/hbase-15600_v6.patch | | JIRA Issue | HBASE-15600 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux asf910.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh | | git revision | master / 29eb3e8 | | Default Java | 1.7.0_79 | | Multi-JDK versions | /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/jav
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15271196#comment-15271196 ] Enis Soztutar commented on HBASE-15600: --- bq. Better take this miniBatchOp.getOperationsFromCoprocessors(i - firstIndex) into a local variable and use that.. Else there is always a chance to miss one place Good catch. Addressed in v6. bq. If the other jira can committed 1st, we can change here to use getRowLockInternal? {{get rowLock()}} in this case is better since these are Mutations coming from the CP. It is not clear the CP will only give Mutations that fall in the region boundaries, so we should opt for the safe approach. > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15263530#comment-15263530 ] Anoop Sam John commented on HBASE-15600: bq.acquiredRowLocks.add(getRowLock(mutation.getRow(), true)); If the other jira can committed 1st, we can change here to use getRowLockInternal? Also abt the inconsistent ops in doMiniBatch and mutateRows() u plan to raise a Jira? We can handle that there. > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ 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 3128if (miniBatchOp.getOperationsFromCoprocessors(i - firstIndex) == null) { 3129 continue; 3130} 3131// Else Coprocessor added more Mutations corresponding to the Mutation at this index. 3132for (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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15263466#comment-15263466 ] Hadoop QA commented on HBASE-15600: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s {color} | {color:green} The patch appears to include 1 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 8s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 41s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 32s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 4m 18s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 16s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 52s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 28s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 32s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 42s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 38s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 38s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 32s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 32s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 4m 41s {color} | {color:red} hbase-server: patch generated 1 new + 217 unchanged - 1 fixed = 218 total (was 218) {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 16s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} Patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 25m 57s {color} | {color:green} Patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 11s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 111m 19s {color} | {color:green} hbase-server in the patch passed. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 20s {color} | {color:red} Patch generated 1 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 159m 51s {color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12801355/hbase-15600_v5.patch | | JIRA Issue | HBASE-15600 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux asf905.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 91291e3 | | Default Java | 1.7.0_79 | | Multi-JDK versions | /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79 | | findbugs | v3.0.0 | | checkstyle | https://builds.apache.org/job/PreCommit-
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15263323#comment-15263323 ] Enis Soztutar commented on HBASE-15600: --- bq. So the added mutations are or no use. Ya thing is we can avoid the not useful work of this merge. Chances are less user will do such things You are right, we do not seem to be needing this for correctness. Added the check in v5 at the start of the iteration just to avoid potential double work. > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15259741#comment-15259741 ] Anoop Sam John commented on HBASE-15600: bq.Do we need to check the status of the Operation if it is NOT_RUN and then only add the CP mutations to it? Wil there be such a case? Ideally when the CP itself handle a particular mutation and mark it as RUN, (success or failure) it should NOT be adding any new mutations into the corresponding index. Now the thing is even if we we merge familyMaps, it is no use as we will just ignore mutation (familyMap) of this index. So the added mutations are or no use. Ya thing is we can avoid the not useful work of this merge. Chances are less user will do such things.. Still can handle it if you like [~enis] > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15259720#comment-15259720 ] ramkrishna.s.vasudevan commented on HBASE-15600: {code} // Returned mutations from coprocessor correspond to the Mutation at index i. We can 3140 // directly add the cells from those mutations to the familyMaps of this mutation. 3141 mergeFamilyMaps(familyMaps[i], cpFamilyMap); // will get added to the memstore later {code} This makes things better. Do we need to check the status of the Operation if it is NOT_RUN and then only add the CP mutations to it? Wil there be such a case? > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15259599#comment-15259599 ] Anoop Sam John commented on HBASE-15600: Looks like the set of ops doing in doMiniBatchMutate and processRowsWithLocks (as part of mutateRow) is different ? Ya we can handle all such existing things in another issue. And make these 2 share code as much as it can.. > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15258770#comment-15258770 ] Enis Soztutar commented on HBASE-15600: --- Checked the code again. prepareDeleteTimestamps() and prepareDelete() are doing different things and they are getting called in different times. prepareDelete() is checking the "Delete row" operation, and fills in families so that it turns into a set of DeleteFamily cells. It also checks the families in the delete. prepareDeleteTimestamps() is doing an actual Get, in case delete timestamps are LATEST_TIMESTAMP. In the patch, we only call {{prepareDelete()}} for Delete's and we never call {{prepareDeleteTimestamps()}} for Mutations injected from the coprocessor. This assumes that the timestamps are already set by the coprocessor (see the javadoc in addOperation()). Similarly for Puts, we do not call updateCellTimestamps(). Should we also consider calling these for Mutations from CP? It is not immediately clear for non-Phoenix use cases whether this behavior is needed. > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15258751#comment-15258751 ] Enis Soztutar commented on HBASE-15600: --- bq. I can see there is a checkRow() call within checkAndPrepareMutation() and getRowLock() again have checkRow() call.. Can we avoid? This is even true for Mutations in regular doMiniBatchMutation(). Let's do the fix in another jira since the fix is more generic and touches regular code paths. bq. This is within doMiniBatchMutate(). checkAndPrepareMutation seems doing some thing else? Yes, I had noticed this as well. We are calling checkRow(), updateCellTimestamps() and prepareDeleteTimestamps() twice in regular doMiniBatchMutation(). I would not complicate this patch for fixing those though, because they are existing issues that affect non-cp code paths. Let me open a follow up jira. > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15258740#comment-15258740 ] Enis Soztutar commented on HBASE-15600: --- Good catch. Let me fix it. > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15257636#comment-15257636 ] Anoop Sam John commented on HBASE-15600: {code} checkAndPrepareMutation(mutation, replay, cpFamilyMap, now); 3131 3132 // Acquire row locks. If not, the whole batch will fail. 3133 acquiredRowLocks.add(getRowLock(mutation.getRow(), true)); {code} I can see there is a checkRow() call within checkAndPrepareMutation() and getRowLock() again have checkRow() call.. Can we avoid? Before the call to CP, I can see ops on Mutation like {code} Mutation mutation = batchOp.getMutation(i); if (mutation instanceof Put) { updateCellTimestamps(familyMaps[i].values(), byteNow); noOfPuts++; } else { prepareDeleteTimestamps(mutation, familyMaps[i], byteNow); noOfDeletes++; } rewriteCellTags(familyMaps[i], mutation); {code} This is within doMiniBatchMutate(). checkAndPrepareMutation seems doing some thing else? > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15257632#comment-15257632 ] Anoop Sam John commented on HBASE-15600: The new way of implementation looks good and handle things in more generic way. {code} for (int i = firstIndex; i < lastIndexExclusive; i++) { 3123if (miniBatchOp.getOperationsFromCoprocessors(i) == null) { 3124 continue; 3125} {code} Here the index 'i' is from 'firstIndex' to 'lastIndexExclusive' and the call getOperationsFromCoprocessors(i) will try to again add the firstIndex in getAbsoluteIndex(). getOperationsFromCoprocessors(int) is supposed to called with index 0 - miniBatchOp.size() > 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 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15257469#comment-15257469 ] Hadoop QA commented on HBASE-15600: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s {color} | {color:green} The patch appears to include 1 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 25s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 3s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 48s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 5m 38s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 21s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 42s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 39s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 45s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 57s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 1s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 1s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 51s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 51s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 5m 55s {color} | {color:red} hbase-server: patch generated 1 new + 217 unchanged - 1 fixed = 218 total (was 218) {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 23s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} Patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 35m 1s {color} | {color:green} Patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 53s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 42s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 43s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 164m 27s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 19s {color} | {color:red} Patch generated 1 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 230m 5s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.master.procedure.TestMasterFailoverWithProcedures | | | hadoop.hbase.master.balancer.TestStochasticLoadBalancer2 | | Timed out junit tests | org.apache.hadoop.hbase.security.access.TestNamespaceCommands | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12800658/hbase-15600_v4.patch | | JIRA Issue | HBASE-15600 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux asf910.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15255141#comment-15255141 ] Hadoop QA commented on HBASE-15600: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s {color} | {color:green} The patch appears to include 1 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 17s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 36s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 32s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 4m 49s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 51s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 25s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 42s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 44s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 44s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 32s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 32s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 4m 36s {color} | {color:red} hbase-server: patch generated 1 new + 215 unchanged - 1 fixed = 216 total (was 216) {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 14s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} Patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 25m 31s {color} | {color:green} Patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 9s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 33s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 16m 18s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 10s {color} | {color:red} Patch generated 1 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 64m 43s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.TestCheckTestClasses | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12800361/hbase-15600_v3.patch | | JIRA Issue | HBASE-15600 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux asf907.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 36e4033 | | Default Java | 1.7.0_79 | | Multi-JDK versions | /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79 | |
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15231581#comment-15231581 ] stack commented on HBASE-15600: --- What is meant by this? bq. but writing from batchMutate API is not allowed because of mvcc. Why is mvcc in your way? > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15231558#comment-15231558 ] ramkrishna.s.vasudevan commented on HBASE-15600: {code} if (coprocessorHost.preBatchMutate(miniBatchOp)) { 3121 return 0L;3122 return 0L; 3123} else if (miniBatchOp.operationsFromCoprocessors!=null) { 3124WALEdit walEditForCpOperations= miniBatchOp.getWalEdit(0); {code} You are adding this as an else if condition . Better to add this as an 'if' condition only ? So if there are some WALEdits added as part of prePut and preDelete, you will once again add new Cells in preBatchMutate and in the 0th index of the already added WALEdits, is it fine in doing like that? bq.WALEdit walEditForCpOperations= miniBatchOp.getWalEdit(0); Even here you are getting the first WALEdit only. bq.public void addOperations(T[] newOperations) { May need proper documentation here and how does it work. Better to rename it to addOperationsfromCP. The default status of this operations is going to be NOT_RUN only correct? Some where I feel that the index that we use to iterate and this new operations should some how be in sync. May be it is difficult to just add these new miniBatchOps to the acutal Operations already available and adjust the first and last index based on that? > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230787#comment-15230787 ] Rajeshbabu Chintaguntla commented on HBASE-15600: - [~anoop.hbase] bq. What if it can not acquire the lock within the time out also? It will return null then. How to handle? We are throwing IOException when we are not able to acquire lock. I think that's ok. bq. When diff Mutations in a batch contain different Durability, we will go with highest priority for that batch. In this evaluation these Mutations from CP also to be considered I can add this. bq. Why set to 0th item? What will happen to some thing already added to this index. By the time code is here, it might be already in place. Adding all the mutations to first WALEdit from coprocessors because we are not sure how many mutations are there and how to adjust them to all the wal edits from coprocessors. We are just adding the cells to waledit so even there are some cells earlier nothing going to happen to them. {noformat} /** * @param index * @return Gets the walEdit for the operation(Mutation) at the specified position. */ public WALEdit getWalEdit(int index) { return this.walEditsFromCoprocessors[getAbsoluteIndex(index)]; } {noformat} {noformat} WALEdit walEditForCpOperations= miniBatchOp.getWalEdit(0); if(walEditForCpOperations == null) walEditForCpOperations = new WALEdit(); for(Cell cell : cells) { walEditForCpOperations.add(cell); } {noformat} > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230576#comment-15230576 ] Anoop Sam John commented on HBASE-15600: bq. acquiredRowLocks.add(getRowLock(mutation.getRow(), true)); What if it can not acquire the lock within the time out also? It will return null then. How to handle? When diff Mutations in a batch contain different Durability, we will go with highest priority for that batch. In this evaluation these Mutations from CP also to be considered {code} if( walEditForCpOperations.getCells() != null && !walEditForCpOperations.getCells().isEmpty()) { 3145miniBatchOp.setWalEdit(0, walEditForCpOperations); 3146} {code} Why set to 0th item? What will happen to some thing already added to this index. By the time code is here, it might be already in 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230497#comment-15230497 ] Hadoop QA commented on HBASE-15600: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s {color} | {color:green} The patch appears to include 1 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 0s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 27s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 47s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 5m 7s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 23s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 53s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 3s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 54s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 1s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 26s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 26s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 47s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 47s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 5m 2s {color} | {color:red} hbase-server: patch generated 34 new + 215 unchanged - 1 fixed = 249 total (was 216) {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 23s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s {color} | {color:red} The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix. {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s {color} | {color:red} The patch has 62 line(s) with tabs. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 42m 42s {color} | {color:green} Patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 20s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 18s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 5s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 32m 20s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 19s {color} | {color:red} Patch generated 1 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 107m 58s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.TestCheckTestClasses | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12797525/HBASE-15600_v2.patch | | JIRA Issue | HBASE-15600 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux asf900.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230466#comment-15230466 ] ramkrishna.s.vasudevan commented on HBASE-15600: Just saw the discussion. Will check the patch and get back here sooner. > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.patch, > HBASE-15600_v2.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230197#comment-15230197 ] Hadoop QA commented on HBASE-15600: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s {color} | {color:green} The patch appears to include 1 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 13s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 47s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 34s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 4m 16s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 55s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 33s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 45s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 43s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 43s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 31s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 31s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 4m 39s {color} | {color:red} hbase-server: patch generated 16 new + 215 unchanged - 1 fixed = 231 total (was 216) {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s {color} | {color:red} The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix. {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s {color} | {color:red} The patch has 55 line(s) with tabs. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 25m 50s {color} | {color:green} Patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 12s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 28s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 132m 8s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 16s {color} | {color:red} Patch generated 1 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 180m 48s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.master.procedure.TestMasterFailoverWithProcedures | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12797490/HBASE-15600.patch | | JIRA Issue | HBASE-15600 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux proserpina.apache.org 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build@2/componen
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230110#comment-15230110 ] Hadoop QA commented on HBASE-15600: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s {color} | {color:green} The patch appears to include 1 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 2s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 37s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 32s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 4m 17s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 53s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 26s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 33s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 42s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 37s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 37s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 33s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 33s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 4m 15s {color} | {color:red} hbase-server: patch generated 16 new + 215 unchanged - 1 fixed = 231 total (was 216) {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s {color} | {color:red} The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix. {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s {color} | {color:red} The patch has 55 line(s) with tabs. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 25m 21s {color} | {color:green} Patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 7s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 26s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 33s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 16m 14s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 11s {color} | {color:red} Patch generated 1 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 63m 13s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.TestCheckTestClasses | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12797491/HBASE-15600_v1.patch | | JIRA Issue | HBASE-15600 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux pietas.apache.org 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230057#comment-15230057 ] Anoop Sam John commented on HBASE-15600: Also on these new Mutations, we will not try to acquire row locks. In case of Phoenix local index it may be ok. But when we add this as a generic CP feature into HBase, we need to worry abt that also? > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230055#comment-15230055 ] Anoop Sam John commented on HBASE-15600: {code} for (int i = firstIndex; i < ( lastIndexExclusive + (familyMapsFromCoprocessors==null ? 0 : 3214 familyMapsFromCoprocessors.length)); i++) { 3215if (i < lastIndexExclusive && batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) { 3216 continue; 3217} 3218addedSize += applyFamilyMapToMemstore(i < lastIndexExclusive ? familyMaps[i]: 3219familyMapsFromCoprocessors[i-lastIndexExclusive], replay, 3220replay? batchOp.getReplaySequenceId(): writeEntry.getWriteNumber()); 3221 } {code} Better split it to 2 loops. 1st (existing) for the familyMap and new one for familyMapsFromCoprocessors One Q though When the CP adds extra Mutations via this MiniBatchOperationInProgress#operationsFromCoprocessors, those also needs to be added to WALEdit? Because on Mutation one can set Durability. When we add this feature support, we need to do it generically. > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > Attachments: HBASE-15600.patch, HBASE-15600_v1.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230034#comment-15230034 ] Rajeshbabu Chintaguntla commented on HBASE-15600: - [~anoop.hbase] bq. So u mean write to memstore directly not via the Region -> Store -> Memstore path. I mean we can write to memstore accountable manner via Region -> Store -> Memstore path. bq. Within the CP hook (like preBatchMutate) we can get reference to Region and can call the batch method on that? So u want that write should not do row locking? Already the main row is locked by now and there is no chance another thread locked this corresponding index row. So that is ok. So abt size checks? It's not about row locks. Since mvcc cannot progress forward if we write anything in the coprocessors with batchMutate API writes will be blocked. Uploaded patch to add mutations minibatchOp which internally be written to memstore via Store -> Memstore and will be rolledback if any failures in the the middle. > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > Attachments: HBASE-15600.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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15229823#comment-15229823 ] Anoop Sam John commented on HBASE-15600: bq.Similarly we can allow to write mutations from coprocessors to memstore as well So u mean write to memstore directly not via the Region -> Store -> Memstore path. No that is not correct as those data written to memstore will not get accounted in HRegion. See bq.private final AtomicLong memstoreSize = new AtomicLong(0); bq.Or else we should provide the batch mutation API allow write in batch mutate coprocessors. Sorry did not get u. Within the CP hook (like preBatchMutate) we can get reference to Region and can call the batch method on that? So u want that write should not do row locking? Already the main row is locked by now and there is no chance another thread locked this corresponding index row. So that is ok. So abt size checks? bq.checkResources() > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > > 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)
[jira] [Commented] (HBASE-15600) Add provision for adding mutations to memstore or able to write to same region in batchMutate coprocessor hooks
[ https://issues.apache.org/jira/browse/HBASE-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15229799#comment-15229799 ] Rajeshbabu Chintaguntla commented on HBASE-15600: - Ping [~apurtell], [~enis], [~anoop.hbase], [~ram_krish] > 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, 0.98.19, 1.1.5, 1.2.2, 1.0.5 > > > 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)