[
https://issues.apache.org/jira/browse/HBASE-12975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14307661#comment-14307661
]
Lars Hofhansl commented on HBASE-12975:
---------------------------------------
I agree. We need to pull out hooks in such a way that:
# we allow for the Phoenix use case
# avoid locking us into the current implementation
# avoid external code making assumption about internals (znodes, filesystem
manipulations, etc)
[~rajeshbabu], would you call SplitTransaction 100% unchanged?
If so, I see no harm in pulling just an execute method into an interface and
pass all needed information to that method (HRegion, split row). Or create a
SplitTransactionFactory.
> SplitTranaction, RegionMergeTransaction to should have InterfaceAudience of
> LimitedPrivate(Coproc,Phoenix)
> ----------------------------------------------------------------------------------------------------------
>
> Key: HBASE-12975
> URL: https://issues.apache.org/jira/browse/HBASE-12975
> Project: HBase
> Issue Type: Improvement
> Reporter: Rajeshbabu Chintaguntla
> Assignee: Rajeshbabu Chintaguntla
> Priority: Minor
> Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11
>
> Attachments: HBASE-12975.patch
>
>
> Making SplitTransaction, RegionMergeTransaction limited private is required
> to support local indexing feature in Phoenix to ensure regions colocation.
> We can ensure region split, regions merge in the coprocessors in few method
> calls without touching internals like creating zk's, file layout changes or
> assignments.
> 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
> 2) meta entries can pass through coprocessors to atomically update with the
> normal split/merge.
> 3) rollback on failure.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)