blob: 7bee2bba92c9644d87ec49ac2c1440f4afda73b6 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HbckTableInfo.HDFSIntegrityFixer (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="HbckTableInfo.HDFSIntegrityFixer (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HbckTableInfo.HDFSIntegrityFixer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html" target="_top">Frames</a></li>
<li><a href="HbckTableInfo.HDFSIntegrityFixer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.util</div>
<h2 title="Class HbckTableInfo.HDFSIntegrityFixer" class="title">Class HbckTableInfo.HDFSIntegrityFixer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html" title="class in org.apache.hadoop.hbase.util.hbck">org.apache.hadoop.hbase.util.hbck.TableIntegrityErrorHandlerImpl</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util">org.apache.hadoop.hbase.util.HbckTableInfo.IntegrityFixSuggester</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.util.HbckTableInfo.HDFSIntegrityFixer</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo</a></dd>
</dl>
<hr>
<br>
<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.html#line.254">HbckTableInfo.HDFSIntegrityFixer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo.IntegrityFixSuggester</a></pre>
<div class="block">This handler fixes integrity errors from hdfs information. There are
basically three classes of integrity problems 1) holes, 2) overlaps, and
3) invalid regions.
This class overrides methods that fix holes and the overlap group case.
Individual cases of particular overlaps are handled by the general
overlap group merge repair case.
If hbase is online, this forces regions offline before doing merge
operations.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#conf">conf</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#fixOverlaps">fixOverlaps</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.util.HbckTableInfo.IntegrityFixSuggester">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo.IntegrityFixSuggester</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html#errors">errors</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#HDFSIntegrityFixer-org.apache.hadoop.hbase.util.HbckTableInfo-org.apache.hadoop.hbase.util.HbckErrorReporter-org.apache.hadoop.conf.Configuration-boolean-boolean-">HDFSIntegrityFixer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo</a>&nbsp;ti,
<a href="../../../../../org/apache/hadoop/hbase/util/HbckErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HbckErrorReporter</a>&nbsp;errors,
org.apache.hadoop.conf.Configuration&nbsp;conf,
boolean&nbsp;fixHoles,
boolean&nbsp;fixOverlaps)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#handleHoleInRegionChain-byte:A-byte:A-">handleHoleInRegionChain</a></span>(byte[]&nbsp;holeStartKey,
byte[]&nbsp;holeStopKey)</code>
<div class="block">There is a hole in the hdfs regions that violates the table integrity
rules.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#handleOverlapGroup-java.util.Collection-">handleOverlapGroup</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&gt;&nbsp;overlap)</code>
<div class="block">This takes set of overlapping regions and merges them into a single
region.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#handleRegionEndKeyNotEmpty-byte:A-">handleRegionEndKeyNotEmpty</a></span>(byte[]&nbsp;curEndKey)</code>
<div class="block">Callback for handling case where a Table has a last region that does not
have an empty end key.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#handleRegionStartKeyNotEmpty-org.apache.hadoop.hbase.util.HbckRegionInfo-">handleRegionStartKeyNotEmpty</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&nbsp;next)</code>
<div class="block">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.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#mergeOverlaps-java.util.Collection-">mergeOverlaps</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&gt;&nbsp;overlap)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#removeParentsAndFixSplits-java.util.Collection-">removeParentsAndFixSplits</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&gt;&nbsp;overlap)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#sidelineBigOverlaps-java.util.Collection-">sidelineBigOverlaps</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&gt;&nbsp;bigOverlap)</code>
<div class="block">Sideline some regions in a big overlap group so that it
will have fewer regions, and it is easier to merge them later on.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.util.HbckTableInfo.IntegrityFixSuggester">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo.IntegrityFixSuggester</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html#handleDegenerateRegion-org.apache.hadoop.hbase.util.HbckRegionInfo-">handleDegenerateRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html#handleDuplicateStartKeys-org.apache.hadoop.hbase.util.HbckRegionInfo-org.apache.hadoop.hbase.util.HbckRegionInfo-">handleDuplicateStartKeys</a>, <a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html#handleOverlapInRegionChain-org.apache.hadoop.hbase.util.HbckRegionInfo-org.apache.hadoop.hbase.util.HbckRegionInfo-">handleOverlapInRegionChain</a>, <a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html#handleSplit-org.apache.hadoop.hbase.util.HbckRegionInfo-org.apache.hadoop.hbase.util.HbckRegionInfo-">handleSplit</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.util.hbck.TableIntegrityErrorHandlerImpl">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.util.hbck.<a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html" title="class in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandlerImpl</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#getTableInfo--">getTableInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#setTableInfo-org.apache.hadoop.hbase.util.HbckTableInfo-">setTableInfo</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="conf">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
<pre>org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.255">conf</a></pre>
</li>
</ul>
<a name="fixOverlaps">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>fixOverlaps</h4>
<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.257">fixOverlaps</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="HDFSIntegrityFixer-org.apache.hadoop.hbase.util.HbckTableInfo-org.apache.hadoop.hbase.util.HbckErrorReporter-org.apache.hadoop.conf.Configuration-boolean-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HDFSIntegrityFixer</h4>
<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.259">HDFSIntegrityFixer</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo</a>&nbsp;ti,
<a href="../../../../../org/apache/hadoop/hbase/util/HbckErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HbckErrorReporter</a>&nbsp;errors,
org.apache.hadoop.conf.Configuration&nbsp;conf,
boolean&nbsp;fixHoles,
boolean&nbsp;fixOverlaps)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="handleRegionStartKeyNotEmpty-org.apache.hadoop.hbase.util.HbckRegionInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRegionStartKeyNotEmpty</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.273">handleRegionStartKeyNotEmpty</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&nbsp;next)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html#handleRegionStartKeyNotEmpty-org.apache.hadoop.hbase.util.HbckRegionInfo-">handleRegionStartKeyNotEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html#handleRegionStartKeyNotEmpty-org.apache.hadoop.hbase.util.HbckRegionInfo-">handleRegionStartKeyNotEmpty</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo.IntegrityFixSuggester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>next</code> - 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.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="handleRegionEndKeyNotEmpty-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRegionEndKeyNotEmpty</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.293">handleRegionEndKeyNotEmpty</a>(byte[]&nbsp;curEndKey)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleRegionEndKeyNotEmpty-byte:A-">TableIntegrityErrorHandlerImpl</a></code></span></div>
<div class="block">Callback for handling case where a Table has a last region that does not
have an empty end key.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html#handleRegionEndKeyNotEmpty-byte:A-">handleRegionEndKeyNotEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html#handleRegionEndKeyNotEmpty-byte:A-">handleRegionEndKeyNotEmpty</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo.IntegrityFixSuggester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>curEndKey</code> - The end key of the current last region. There should be a new region
with start key as this and an empty end key.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="handleHoleInRegionChain-byte:A-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleHoleInRegionChain</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.315">handleHoleInRegionChain</a>(byte[]&nbsp;holeStartKey,
byte[]&nbsp;holeStopKey)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">There is a hole in the hdfs regions that violates the table integrity
rules. Create a new empty region that patches the hole.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html#handleHoleInRegionChain-byte:A-byte:A-">handleHoleInRegionChain</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html#handleHoleInRegionChain-byte:A-byte:A-">handleHoleInRegionChain</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util">HbckTableInfo.IntegrityFixSuggester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>holeStartKey</code> - key at the beginning of the region hole</dd>
<dd><code>holeStopKey</code> - key at the end of the region hole</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="handleOverlapGroup-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleOverlapGroup</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.342">handleOverlapGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&gt;&nbsp;overlap)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This takes set of overlapping regions and merges them into a single
region. This covers cases like degenerate regions, shared start key,
general overlaps, duplicate ranges, and partial overlapping regions.
Cases:
- Clean regions that overlap
- Only .oldlogs regions (can't find start/stop range, or figure out)
This is basically threadsafe, except for the fixer increment in mergeOverlaps.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html#handleOverlapGroup-java.util.Collection-">handleOverlapGroup</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleOverlapGroup-java.util.Collection-">handleOverlapGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html" title="class in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandlerImpl</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>overlap</code> - Collection of overlapping regions.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="removeParentsAndFixSplits-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeParentsAndFixSplits</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.368">removeParentsAndFixSplits</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&gt;&nbsp;overlap)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="mergeOverlaps-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeOverlaps</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.483">mergeOverlaps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&gt;&nbsp;overlap)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="sidelineBigOverlaps-java.util.Collection-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sidelineBigOverlaps</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html#line.560">sidelineBigOverlaps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HbckRegionInfo.html" title="class in org.apache.hadoop.hbase.util">HbckRegionInfo</a>&gt;&nbsp;bigOverlap)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Sideline some regions in a big overlap group so that it
will have fewer regions, and it is easier to merge them later on.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bigOverlap</code> - the overlapped group with regions more than maxMerge</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HbckTableInfo.HDFSIntegrityFixer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/util/HbckTableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/util/HbckTableInfo.HDFSIntegrityFixer.html" target="_top">Frames</a></li>
<li><a href="HbckTableInfo.HDFSIntegrityFixer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>