[ 
https://issues.apache.org/jira/browse/HBASE-9489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13831823#comment-13831823
 ] 

Ted Yu commented on HBASE-9489:
-------------------------------

nit:
{code}
+  public void 
preRollBackMerge(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
+      HRegion regionA, HRegion regionB) throws IOException { }
+  
+  @Override
+  public void 
preMergeAfterPONR(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
+      HRegion regionA, HRegion regionB, HRegion mergedRegion) throws 
IOException { }
+
+  @Override
+  public void 
preMergeBeforePONR(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
+      HRegion regionA, HRegion regionB, List<Mutation> metaEntries) throws 
IOException { }
+  
+  @Override
+  public void 
postRollBackMerge(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
+      HRegion regionA, HRegion regionB) throws IOException { }
{code}
Grouping the XXRollBackMerge together would increase readability.
{code}
+   * This will be called after PONR step as part of regions merge transaction 
Calling
+   * {@link org.apache.hadoop.hbase.coprocessor.ObserverContext#bypass()} has 
no effect in this
{code}
A period is missing before 'Calling'. I think wrapping Calling to next line 
would make the javadoc more readable.
{code}
+    if (rsCoprocessorHost == null) {
+      rsCoprocessorHost = server != null ? ((HRegionServer) 
server).getCoprocessorHost() : null;
+    }
     HRegion mergedRegion = createMergedRegion(server, services);
+    if (rsCoprocessorHost != null) {
+      rsCoprocessorHost.preMergeAfterPONR(this.region_a, this.region_b, 
mergedRegion);
{code}
rsCoprocessorHost can be created after the call to createMergedRegion().
{code}
+        LOG.error("Row key of mutation from coprossor is not parsable as 
region name."
+            + "Mutations from coprocessor should only for hbase:meta table.");
{code}
Typo: coprossor
'should only for' -> 'should only be for'
Please include e in the error message.
{code}
+        mergeRegionsAndputMetaEntries(server.getCatalogTracker(), 
mergedRegion.getRegionInfo(), region_a
{code}
Make the p in 'put' uppercase.

For CPRegionServerObserver in the test, I see some duplicate code in 
preMergeBeforePONR(). Can you reuse the code in mergeRegionsAndputMetaEntries() 
?

> Add cp hooks in online merge before and after setting PONR
> ----------------------------------------------------------
>
>                 Key: HBASE-9489
>                 URL: https://issues.apache.org/jira/browse/HBASE-9489
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: rajeshbabu
>            Assignee: rajeshbabu
>         Attachments: HBASE-9489.patch, HBASE-9489_v2.patch
>
>
> As we need to merge index region along with user region we need the hooks 
> before and after setting PONR in region merge transtion.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to