public class TestHBaseFsck extends Object
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
TestHBaseFsck.MasterSyncObserver  | 
| Modifier and Type | Field and Description | 
|---|---|
TestName | 
name  | 
| Constructor and Description | 
|---|
TestHBaseFsck()  | 
| Modifier and Type | Method and Description | 
|---|---|
static void | 
createTable(HBaseTestingUtility testUtil,
           HTableDescriptor htd,
           byte[][] splitKeys)  | 
static void | 
deleteTable(HBaseTestingUtility testUtil,
           TableName tableName)  | 
void | 
deleteTableDir(TableName table)  | 
void | 
setUp()  | 
static void | 
setUpBeforeClass()  | 
static void | 
tearDownAfterClass()  | 
void | 
testCheckTableLocks()  | 
void | 
testCleanUpDaughtersNotInMetaAfterFailedSplit()  | 
void | 
testContainedRegionOverlap()
This creates and fixes a bad table where a region is completely contained
 by another region. 
 | 
void | 
testCorruptLinkDirectory()  | 
void | 
testCoveredStartKey()
This creates and fixes a bad table where a region overlaps two regions --
 a start key contained in another region and its end key is contained in
 yet another region. 
 | 
void | 
testDegenerateRegions()
This creates and fixes a bad table with regions that has startkey == endkey 
 | 
void | 
testDupeRegion()
This create and fixes a bad table with regions that have a duplicate
 start key 
 | 
void | 
testDupeStartKey()
This create and fixes a bad table with regions that have a duplicate
 start key 
 | 
void | 
testErrorReporter()
Test pluggable error reporter. 
 | 
void | 
testFixAssignmentsAndNoHdfsChecking()
Test -noHdfsChecking option can detect and fix assignments issue. 
 | 
void | 
testFixAssignmentsWhenMETAinTransition()  | 
void | 
testFixByTable()
This creates two tables and mess both of them and fix them one by one 
 | 
void | 
testFixHdfsHolesNotWorkingWithNoHdfsChecking()
Test -fixHdfsHoles doesn't work with -noHdfsChecking option,
 and -noHdfsChecking can't detect orphan Hdfs region. 
 | 
void | 
testFixMetaNotWorkingWithNoHdfsChecking()
Test -noHdfsChecking option can detect region is not in meta but deployed. 
 | 
void | 
testHBaseFsck()  | 
void | 
testHBaseFsckClean()
This creates a clean table and confirms that the table is clean. 
 | 
void | 
testHbckAfterRegionMerge()  | 
void | 
testHbckFixOrphanTable()  | 
void | 
testHbckThreadpooling()
Test thread pooling in the case where there are more regions than threads 
 | 
void | 
testHbckWithExcessReplica()  | 
void | 
testHbckWithFewerReplica()  | 
void | 
testHbckWithRegionReplica()  | 
void | 
testHDFSRegioninfoMissing()
This creates and fixes a bad table with a missing region -- hole in meta
 and data present but .regioinfino missing (an orphan hdfs region)in the fs. 
 | 
void | 
testHDFSRegioninfoMissingAndCheckRegionBoundary()
This creates and fixes a bad table with a missing region -- hole in meta and data present but
 .regioninfo missing (an orphan hdfs region)in the fs. 
 | 
void | 
testLingeringHFileLinks()
Test fixing lingering HFileLinks. 
 | 
void | 
testLingeringReferenceFile()
Test fixing lingering reference file. 
 | 
void | 
testLingeringSplitParent()
A split parent in meta, in hdfs, and not deployed 
 | 
void | 
testMetaOffline()  | 
void | 
testMissingFirstRegion()
This creates and fixes a bad table with a missing region which is the 1st region -- hole in
 meta and data missing in the fs. 
 | 
void | 
testMissingLastRegion()
This creates and fixes a bad table with missing last region -- hole in meta and data missing in
 the fs. 
 | 
void | 
testMissingRegionInfoQualifier()
Test mission REGIONINFO_QUALIFIER in hbase:meta 
 | 
void | 
testNoHdfsTable()
This creates entries in hbase:meta with no hdfs data. 
 | 
void | 
testNotInHdfs()
This creates and fixes a bad table with a region that is in meta but has
 no deployment or data hdfs 
 | 
void | 
testNotInHdfsWithReplicas()
This creates and fixes a bad table with a region that is in meta but has
 no deployment or data hdfs. 
 | 
void | 
testNotInMetaHole()
This creates fixes a bad table with a hole in meta. 
 | 
void | 
testNotInMetaOrDeployedHole()
This creates and fixes a bad table with a region that is missing meta and
 not assigned to a region server. 
 | 
void | 
testNoVersionFile()
when the hbase.version file missing, It is fix the fault. 
 | 
void | 
testOrphanedTableZNode()
Test orphaned table ZNode (for table states) 
 | 
void | 
testOverlapAndOrphan()
This creates and fixes a bad table where a region is completely contained
 by another region, and there is a hole (sort of like a bad split) 
 | 
void | 
testParallelHbck()
This test makes sure that parallel instances of Hbck is disabled. 
 | 
void | 
testParallelWithRetriesHbck()
This test makes sure that with enough retries both parallel instances
 of hbck will be completed successfully. 
 | 
void | 
testQuarantineCorruptHFile()
This creates a table and then corrupts an hfile. 
 | 
void | 
testQuarantineCorruptMobFile()
This creates a table and then corrupts a mob file. 
 | 
void | 
testQuarantineMissingFamdir()
This creates a table and simulates the race situation where a concurrent compaction or split
 has removed an colfam dir before the corruption checker got to it. 
 | 
void | 
testQuarantineMissingHFile()
This creates a table and simulates the race situation where a concurrent compaction or split
 has removed an hfile after the corruption checker learned about it. 
 | 
void | 
testQuarantineMissingRegionDir()
This creates a table and simulates the race situation where a concurrent compaction or split
 has removed a region dir before the corruption checker got to it. 
 | 
void | 
testReadOnlyProperty()  | 
void | 
testRegionBoundariesCheck()  | 
void | 
testRegionDeployedNotInHdfs()
This creates and fixes a bad table with a missing region which is the 1st region -- hole in
 meta and data missing in the fs. 
 | 
void | 
testRegionHole()
This creates and fixes a bad table with a missing region -- hole in meta
 and data missing in the fs. 
 | 
void | 
testRegionShouldNotBeDeployed()
The region is not deployed when the table is disabled. 
 | 
void | 
testSidelineOverlapRegion()
This creates and fixes a bad table where an overlap group of
 3 regions. 
 | 
void | 
testSplitDaughtersNotInMeta()
Split crashed after write to hbase:meta finished for the parent region, but
 failed to write daughters (pre HBASE-7721 codebase) 
 | 
void | 
testTableWithNoRegions()  | 
void | 
testValidLingeringSplitParent()
Tests that LINGERING_SPLIT_PARENT is not erroneously reported for
 valid cases where the daughters are there. 
 | 
public void setUp()
public void testFixAssignmentsWhenMETAinTransition()
                                            throws Exception
Exceptionpublic void testHBaseFsckClean()
                        throws Exception
Exceptionpublic void testHbckThreadpooling()
                           throws Exception
Exceptionpublic void testParallelHbck()
                      throws Exception
Exceptionpublic void testParallelWithRetriesHbck()
                                 throws Exception
Exceptionpublic void testDupeStartKey()
                      throws Exception
Exceptionpublic void testHbckWithRegionReplica()
                               throws Exception
Exceptionpublic void testHbckWithExcessReplica()
                               throws Exception
Exceptionpublic void testDupeRegion()
                    throws Exception
Exceptionpublic void testDegenerateRegions()
                           throws Exception
Exceptionpublic void testContainedRegionOverlap()
                                throws Exception
Exceptionpublic void testSidelineOverlapRegion()
                               throws Exception
Exceptionpublic void testOverlapAndOrphan()
                          throws Exception
Exceptionpublic void testCoveredStartKey()
                         throws Exception
Exceptionpublic void testRegionHole()
                    throws Exception
Exceptionpublic void testHDFSRegioninfoMissing()
                               throws Exception
Exceptionpublic void testHDFSRegioninfoMissingAndCheckRegionBoundary()
                                                     throws Exception
Exceptionpublic void testNotInMetaOrDeployedHole()
                                 throws Exception
Exceptionpublic void testNotInMetaHole()
                       throws Exception
Exceptionpublic void testNotInHdfs()
                   throws Exception
Exceptionpublic void testNotInHdfsWithReplicas()
                               throws Exception
Exceptionpublic void testNoHdfsTable()
                     throws Exception
Exceptionpublic void deleteTableDir(TableName table)
                    throws IOException
IOExceptionpublic void testNoVersionFile()
                       throws Exception
Exceptionpublic void testRegionShouldNotBeDeployed()
                                   throws Exception
Exceptionpublic void testFixByTable()
                    throws Exception
Exceptionpublic void testLingeringSplitParent()
                              throws Exception
Exceptionpublic void testValidLingeringSplitParent()
                                   throws Exception
Exceptionpublic void testSplitDaughtersNotInMeta()
                                 throws Exception
Exceptionpublic void testMissingFirstRegion()
                            throws Exception
Exceptionpublic void testRegionDeployedNotInHdfs()
                                 throws Exception
Exceptionpublic void testMissingLastRegion()
                           throws Exception
Exceptionpublic void testFixAssignmentsAndNoHdfsChecking()
                                         throws Exception
Exceptionpublic void testFixMetaNotWorkingWithNoHdfsChecking()
                                             throws Exception
Exceptionpublic void testFixHdfsHolesNotWorkingWithNoHdfsChecking()
                                                  throws Exception
Exceptionpublic void testQuarantineCorruptHFile()
                                throws Exception
Exceptionpublic void testQuarantineCorruptMobFile()
                                  throws Exception
Exceptionpublic void testQuarantineMissingHFile()
                                throws Exception
Exceptionpublic void testQuarantineMissingFamdir()
                                 throws Exception
Exceptionpublic void testQuarantineMissingRegionDir()
                                    throws Exception
Exceptionpublic void testLingeringReferenceFile()
                                throws Exception
Exceptionpublic void testLingeringHFileLinks()
                             throws Exception
Exceptionpublic void testMissingRegionInfoQualifier()
                                    throws Exception
Exceptionpublic void testErrorReporter()
                       throws Exception
Exceptionpublic void testOrphanedTableZNode()
                            throws Exception
Exceptionpublic void testRegionBoundariesCheck()
                               throws Exception
Exceptionpublic void testCleanUpDaughtersNotInMetaAfterFailedSplit()
                                                   throws Exception
Exceptionpublic static void createTable(HBaseTestingUtility testUtil,
                               HTableDescriptor htd,
                               byte[][] splitKeys)
                        throws Exception
Exception