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–2021 The Apache Software Foundation. All rights reserved.