class HbckTableInfo.HDFSIntegrityFixer extends HbckTableInfo.IntegrityFixSuggester
| Modifier and Type | Field and Description |
|---|---|
(package private) org.apache.hadoop.conf.Configuration |
conf |
(package private) boolean |
fixOverlaps |
errors| Constructor and Description |
|---|
HDFSIntegrityFixer(HbckTableInfo ti,
HbckErrorReporter errors,
org.apache.hadoop.conf.Configuration conf,
boolean fixHoles,
boolean fixOverlaps) |
| Modifier and Type | Method and Description |
|---|---|
void |
handleHoleInRegionChain(byte[] holeStartKey,
byte[] holeStopKey)
There is a hole in the hdfs regions that violates the table integrity rules.
|
void |
handleOverlapGroup(Collection<HbckRegionInfo> overlap)
This takes set of overlapping regions and merges them into a single region.
|
void |
handleRegionEndKeyNotEmpty(byte[] curEndKey)
Callback for handling case where a Table has a last region that does not have an empty end key.
|
void |
handleRegionStartKeyNotEmpty(HbckRegionInfo next)
This is a special case hole -- when the first region of a table is missing from META, HBase
doesn't acknowledge the existance of the table.
|
(package private) void |
mergeOverlaps(Collection<HbckRegionInfo> overlap) |
(package private) void |
removeParentsAndFixSplits(Collection<HbckRegionInfo> overlap) |
(package private) void |
sidelineBigOverlaps(Collection<HbckRegionInfo> bigOverlap)
Sideline some regions in a big overlap group so that it will have fewer regions, and it is
easier to merge them later on.
|
handleDegenerateRegion, handleDuplicateStartKeys, handleOverlapInRegionChain, handleSplitgetTableInfo, setTableInfoorg.apache.hadoop.conf.Configuration conf
boolean fixOverlaps
HDFSIntegrityFixer(HbckTableInfo ti, HbckErrorReporter errors, org.apache.hadoop.conf.Configuration conf, boolean fixHoles, boolean fixOverlaps)
public void handleRegionStartKeyNotEmpty(HbckRegionInfo next) throws IOException
handleRegionStartKeyNotEmpty in interface TableIntegrityErrorHandlerhandleRegionStartKeyNotEmpty in class HbckTableInfo.IntegrityFixSuggesternext - An HbckRegionInfo of the second region in a table. This should have a non-empty
startkey, and can be used to fabricate a first region that has an empty start key.IOExceptionpublic void handleRegionEndKeyNotEmpty(byte[] curEndKey) throws IOException
TableIntegrityErrorHandlerImplhandleRegionEndKeyNotEmpty in interface TableIntegrityErrorHandlerhandleRegionEndKeyNotEmpty in class HbckTableInfo.IntegrityFixSuggestercurEndKey - The end key of the current last region. There should be a new region with
start key as this and an empty end key.IOExceptionpublic void handleHoleInRegionChain(byte[] holeStartKey, byte[] holeStopKey) throws IOException
handleHoleInRegionChain in interface TableIntegrityErrorHandlerhandleHoleInRegionChain in class HbckTableInfo.IntegrityFixSuggesterholeStartKey - key at the beginning of the region holeholeStopKey - key at the end of the region holeIOExceptionpublic void handleOverlapGroup(Collection<HbckRegionInfo> overlap) throws IOException
handleOverlapGroup in interface TableIntegrityErrorHandlerhandleOverlapGroup in class TableIntegrityErrorHandlerImploverlap - Collection of overlapping regions.IOExceptionvoid removeParentsAndFixSplits(Collection<HbckRegionInfo> overlap) throws IOException
IOExceptionvoid mergeOverlaps(Collection<HbckRegionInfo> overlap) throws IOException
IOExceptionvoid sidelineBigOverlaps(Collection<HbckRegionInfo> bigOverlap) throws IOException
bigOverlap - the overlapped group with regions more than maxMergeIOExceptionCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.