public class ZKSplitTransactionCoordination extends java.lang.Object implements SplitTransactionCoordination
Modifier and Type | Class and Description |
---|---|
static class |
ZKSplitTransactionCoordination.ZkSplitTransactionDetails
ZK-based implementation.
|
SplitTransactionCoordination.SplitTransactionDetails
Constructor and Description |
---|
ZKSplitTransactionCoordination(CoordinatedStateManager coordinationProvider,
ZooKeeperWatcher watcher) |
public ZKSplitTransactionCoordination(CoordinatedStateManager coordinationProvider, ZooKeeperWatcher watcher)
public void startSplitTransaction(HRegion parent, ServerName serverName, HRegionInfo hri_a, HRegionInfo hri_b) throws java.io.IOException
Does not transition nodes from other states. If a node already exists for this region, an Exception will be thrown.
startSplitTransaction
in interface SplitTransactionCoordination
parent
- region to be created as offlineserverName
- server event originates fromhri_a
- daughter regionhri_b
- daughter regionjava.io.IOException
public void waitForSplitTransaction(RegionServerServices services, Region parent, HRegionInfo hri_a, HRegionInfo hri_b, SplitTransactionCoordination.SplitTransactionDetails sptd) throws java.io.IOException
waitForSplitTransaction
in interface SplitTransactionCoordination
services
- Used to online/offline regions.parent
- regionhri_a
- daughter regionhri_b
- daughter regionsptd
- split transaction detailsjava.io.IOException
public void completeSplitTransaction(RegionServerServices services, Region a, Region b, SplitTransactionCoordination.SplitTransactionDetails std, Region parent) throws java.io.IOException
completeSplitTransaction
in interface SplitTransactionCoordination
services
- Used to online/offline regions.a
- daughter regionb
- daughter regionstd
- split transaction detailsparent
- java.io.IOException
- If thrown, transaction failed. Call
SplitTransaction.rollback(
Server, RegionServerServices)
public void clean(HRegionInfo hri)
SplitTransactionCoordination
clean
in interface SplitTransactionCoordination
hri
- node to deletepublic SplitTransactionCoordination.SplitTransactionDetails getDefaultDetails()
getDefaultDetails
in interface SplitTransactionCoordination
public int processTransition(HRegionInfo p, HRegionInfo hri_a, HRegionInfo hri_b, ServerName sn, SplitTransactionCoordination.SplitTransactionDetails std) throws java.io.IOException
SplitTransactionCoordination
processTransition
in interface SplitTransactionCoordination
java.io.IOException