Looks like Phoenix makes use of PONR methods:
phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexSplitTransaction.java:
this.parent.getCoprocessorHost().preSplitAfterPONR();
phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexSplitter.java:
public void
preSplitAfterPONR(ObserverContext<RegionCoprocessorEnvironment> ctx)
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionObserver.java:
public void
preSplitAfterPONR(ObserverContext<RegionCoprocessorEnvironment> ctx)
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionObserver.java:
delegate.preSplitAfterPONR(ctx);
phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexSplitTransaction.java:
preSplitBeforePONR(this.splitrow, metaEntries)) {
phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexSplitter.java:
public void
preSplitBeforePONR(ObserverContext<RegionCoprocessorEnvironment> ctx,
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionObserver.java:
public void
preSplitBeforePONR(ObserverContext<RegionCoprocessorEnvironment> ctx,
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionObserver.java:
delegate.preSplitBeforePONR(ctx, splitKey, metaEntries);
FYI
On Thu, Apr 28, 2016 at 9:06 AM, Stephen Jiang <[email protected]>
wrote:
> during split region, we have a lot of coprocessors in
> RegionCoprocessorHost (some of them were added by
> https://issues.apache.org/jira/browse/HBASE-6633)
>
> public void preSplit(final byte[] splitRow) throws IOException {}
> public void postSplit(final Region l, final Region r) throws IOException
> {}
> public boolean preSplitBeforePONR(final byte[] splitKey,
> final List<Mutation> metaEntries) throws IOException {}
> public void preSplitAfterPONR() throws IOException {}
> public void preRollBackSplit() throws IOException {}
> public void postRollBackSplit() throws IOException {}
> public void postCompleteSplit() throws IOException {}
>
> I am in the process of moving split region a procedure-based from MASTER,
> which means I should move those coprocessors to MasterCoprocessorHost.
>
> Looking at the names, it seems to me that we exposed PONR implementation
> details of split operation (what if we don't have PONR in future
> implementation? what if a new implementation always PONR from the
> beginning). I just wondering whether any customer leverage all the
> coprocessors in split?
>
> Also anyone sees any problem moving those CP to Master? Your insight is
> helpful.
>
> Thanks
> Stephen
>