blob: 4968ce443a17d89e9059dc6276ffbbf1aad3827d [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>FSTableDescriptors (Apache HBase 3.0.0-alpha-4-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="FSTableDescriptors (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":9,"i5":10,"i6":9,"i7":9,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":9,"i14":9,"i15":9,"i16":9,"i17":10,"i18":9,"i19":9,"i20":9,"i21":10,"i22":9,"i23":10,"i24":10,"i25":9,"i26":9,"i27":10,"i28":10,"i29":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/FSTableDescriptors.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/FSRegionScanner.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/FSTableDescriptors.SequenceIdAndFileLength.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/FSTableDescriptors.html" target="_top">Frames</a></li>
<li><a href="FSTableDescriptors.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><a href="#nested.class.summary">Nested</a>&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 FSTableDescriptors" class="title">Class FSTableDescriptors</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>org.apache.hadoop.hbase.util.FSTableDescriptors</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.83">FSTableDescriptors</a>
extends <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>
implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></pre>
<div class="block">Implementation of <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase"><code>TableDescriptors</code></a> that reads descriptors from the passed filesystem. It
expects descriptors to be in a file in the <a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_DIR"><code>TABLEINFO_DIR</code></a> subdir of the table's directory
in FS. Can be read-only -- i.e. does not modify the filesystem or can be read and write.
<p>
Also has utility for keeping up the table descriptors tableinfo file. The table schema file is
kept in the <a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_DIR"><code>TABLEINFO_DIR</code></a> subdir of the table directory in the filesystem. It has a
<a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_FILE_PREFIX"><code>TABLEINFO_FILE_PREFIX</code></a> and then a suffix that is the edit sequenceid: e.g.
<code>.tableinfo.0000000003</code>. This sequenceid is always increasing. It starts at zero. The
table schema file with the highest sequenceid has the most recent schema edit. Usually there is
one file only, the most recent but there may be short periods where there are more than one file.
Old files are eventually cleaned. Presumption is that there will not be lots of concurrent
clients making table schema edits. If so, the below needs a bit of a reworking and perhaps some
supporting api in hdfs.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.SequenceIdAndFileLength.html" title="class in org.apache.hadoop.hbase.util">FSTableDescriptors.SequenceIdAndFileLength</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== 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>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#cache">cache</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#cachehits">cachehits</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#executor">executor</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.FileSystem</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#fs">fs</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#fsreadonly">fsreadonly</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#fsvisited">fsvisited</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#invocations">invocations</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#rootdir">rootdir</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#tableDescriptorParallelLoadEnable">tableDescriptorParallelLoadEnable</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_DIR">TABLEINFO_DIR</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_FILE_PREFIX">TABLEINFO_FILE_PREFIX</a></span></code>
<div class="block">The file name prefix used to store HTD in HDFS</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;org.apache.hadoop.fs.FileStatus&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_FILESTATUS_COMPARATOR">TABLEINFO_FILESTATUS_COMPARATOR</a></span></code>
<div class="block">Compare <code>FileStatus</code> instances by <code>Path.getName()</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.apache.hadoop.fs.PathFilter</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_PATHFILTER">TABLEINFO_PATHFILTER</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#usecache">usecache</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#WIDTH_OF_SEQUENCE_ID">WIDTH_OF_SEQUENCE_ID</a></span></code>
<div class="block">Width of the sequenceid that is a suffix on a tableinfo file.</div>
</td>
</tr>
</table>
</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/FSTableDescriptors.html#FSTableDescriptors-org.apache.hadoop.conf.Configuration-">FSTableDescriptors</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
<div class="block">Construct a FSTableDescriptors instance using the hbase root dir of the given conf and the
filesystem where that root dir lives.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#FSTableDescriptors-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">FSTableDescriptors</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootdir)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#FSTableDescriptors-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-boolean-">FSTableDescriptors</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootdir,
boolean&nbsp;fsreadonly,
boolean&nbsp;usecache)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#FSTableDescriptors-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-boolean-int-">FSTableDescriptors</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootdir,
boolean&nbsp;fsreadonly,
boolean&nbsp;usecache,
int&nbsp;tableDescriptorParallelLoadThreads)</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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/FSTableDescriptors.html#close--">close</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#createMetaTableDescriptorBuilder-org.apache.hadoop.conf.Configuration-">createMetaTableDescriptorBuilder</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#createTableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">createTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</code>
<div class="block">Create new TableDescriptor in HDFS.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#createTableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">createTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
boolean&nbsp;forceCreation)</code>
<div class="block">Create new TableDescriptor in HDFS.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#createTableDescriptorForTableDirectory-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">createTableDescriptorForTableDirectory</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir,
<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
boolean&nbsp;forceCreation)</code>
<div class="block">Create a new TableDescriptor in HDFS in the specified table directory.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#createTableDescriptorForTableDirectory-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">createTableDescriptorForTableDirectory</a></span>(org.apache.hadoop.fs.Path&nbsp;tableDir,
<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
boolean&nbsp;forceCreation)</code>
<div class="block">Create a new TableDescriptor in HDFS in the specified table directory.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#deleteMalformedFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">deleteMalformedFile</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;file)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#deleteTableDescriptorFiles-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-">deleteTableDescriptorFiles</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;dir,
int&nbsp;maxSequenceId)</code>
<div class="block">Deletes files matching the table info file pattern within the given directory whose sequenceId
is at most the given max sequenceId.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#deleteTableDescriptors-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">deleteTableDescriptors</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#formatTableInfoSequenceId-int-">formatTableInfoSequenceId</a></span>(int&nbsp;number)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#get-org.apache.hadoop.hbase.TableName-">get</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
<div class="block">Get the current table descriptor for the given table, or null if none exists.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getAll--">getAll</a></span>()</code>
<div class="block">Returns a map from table name to table descriptor for all tables.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getByNamespace-java.lang.String-">getByNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Find descriptors by namespace.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getReplBarrierFamilyDescForMeta--">getReplBarrierFamilyDescForMeta</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableDescriptorFromFs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableDescriptorFromFs</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir)</code>
<div class="block">Returns the latest table descriptor for the table located at the given directory directly from
the file system if it exists.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.FileStatus,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableDescriptorFromFs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">getTableDescriptorFromFs</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir,
boolean&nbsp;readonly)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableDescriptorFromFs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-">getTableDescriptorFromFs</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;hbaseRootDir,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
<div class="block">Returns the latest table descriptor for the given table directly from the file system if it
exists, bypassing the local cache.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableDir-org.apache.hadoop.hbase.TableName-">getTableDir</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
<div class="block">Return the table directory in HDFS</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableFamilyDescForMeta-org.apache.hadoop.conf.Configuration-">getTableFamilyDescForMeta</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableInfoFileName-int-byte:A-">getTableInfoFileName</a></span>(int&nbsp;sequenceId,
byte[]&nbsp;content)</code>
<div class="block">Returns Name of tableinfo file.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.SequenceIdAndFileLength.html" title="class in org.apache.hadoop.hbase.util">FSTableDescriptors.SequenceIdAndFileLength</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableInfoSequenceIdAndFileLength-org.apache.hadoop.fs.Path-">getTableInfoSequenceIdAndFileLength</a></span>(org.apache.hadoop.fs.Path&nbsp;p)</code>
<div class="block">Returns the current sequence id and file length or 0 if none found.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#internalGet-org.apache.hadoop.fs.Path-java.util.Map-java.util.concurrent.atomic.AtomicBoolean-">internalGet</a></span>(org.apache.hadoop.fs.Path&nbsp;dir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;tds,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a>&nbsp;allvisited)</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#isTableDir-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">isTableDir</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir)</code>
<div class="block">Check whether we have a valid TableDescriptor.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#isUsecache--">isUsecache</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#remove-org.apache.hadoop.hbase.TableName-">remove</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</code>
<div class="block">Removes the table descriptor from the local cache and returns it.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#tryUpdateAndGetMetaTableDescriptor-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">tryUpdateAndGetMetaTableDescriptor</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootdir)</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#tryUpdateMetaTableDescriptor-org.apache.hadoop.conf.Configuration-">tryUpdateMetaTableDescriptor</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#update-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">update</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td,
boolean&nbsp;cacheOnly)</code>
<div class="block">Add or update descriptor</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#updateTableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">updateTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td)</code>&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>private static org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#writeTableDescriptor-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.FileStatus-">writeTableDescriptor</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td,
org.apache.hadoop.fs.Path&nbsp;tableDir,
org.apache.hadoop.fs.FileStatus&nbsp;currentDescriptorFile)</code>
<div class="block">Attempts to write a new table descriptor to the given table's directory.</div>
</td>
</tr>
</table>
<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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.TableDescriptors">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#exists-org.apache.hadoop.hbase.TableName-">exists</a>, <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#update-org.apache.hadoop.hbase.client.TableDescriptor-">update</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="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.84">LOG</a></pre>
</li>
</ul>
<a name="fs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fs</h4>
<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.85">fs</a></pre>
</li>
</ul>
<a name="rootdir">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rootdir</h4>
<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.86">rootdir</a></pre>
</li>
</ul>
<a name="fsreadonly">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fsreadonly</h4>
<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.87">fsreadonly</a></pre>
</li>
</ul>
<a name="usecache">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>usecache</h4>
<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.88">usecache</a></pre>
</li>
</ul>
<a name="fsvisited">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fsvisited</h4>
<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.89">fsvisited</a></pre>
</li>
</ul>
<a name="tableDescriptorParallelLoadEnable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tableDescriptorParallelLoadEnable</h4>
<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.90">tableDescriptorParallelLoadEnable</a></pre>
</li>
</ul>
<a name="executor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executor</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.91">executor</a></pre>
</li>
</ul>
<a name="cachehits">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cachehits</h4>
<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.93">cachehits</a></pre>
</li>
</ul>
<a name="invocations">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invocations</h4>
<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.94">invocations</a></pre>
</li>
</ul>
<a name="TABLEINFO_FILE_PREFIX">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TABLEINFO_FILE_PREFIX</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.99">TABLEINFO_FILE_PREFIX</a></pre>
<div class="block">The file name prefix used to store HTD in HDFS</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.FSTableDescriptors.TABLEINFO_FILE_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TABLEINFO_DIR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TABLEINFO_DIR</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.100">TABLEINFO_DIR</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.FSTableDescriptors.TABLEINFO_DIR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="cache">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cache</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.105">cache</a></pre>
</li>
</ul>
<a name="TABLEINFO_FILESTATUS_COMPARATOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TABLEINFO_FILESTATUS_COMPARATOR</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;org.apache.hadoop.fs.FileStatus&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.391">TABLEINFO_FILESTATUS_COMPARATOR</a></pre>
<div class="block">Compare <code>FileStatus</code> instances by <code>Path.getName()</code>. Returns in reverse order.</div>
</li>
</ul>
<a name="TABLEINFO_PATHFILTER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TABLEINFO_PATHFILTER</h4>
<pre>private static final&nbsp;org.apache.hadoop.fs.PathFilter <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.406">TABLEINFO_PATHFILTER</a></pre>
</li>
</ul>
<a name="WIDTH_OF_SEQUENCE_ID">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>WIDTH_OF_SEQUENCE_ID</h4>
<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.417">WIDTH_OF_SEQUENCE_ID</a></pre>
<div class="block">Width of the sequenceid that is a suffix on a tableinfo file.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.FSTableDescriptors.WIDTH_OF_SEQUENCE_ID">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="FSTableDescriptors-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FSTableDescriptors</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.111">FSTableDescriptors</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
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">Construct a FSTableDescriptors instance using the hbase root dir of the given conf and the
filesystem where that root dir lives. This instance can do write operations (is not read only).</div>
<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="FSTableDescriptors-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FSTableDescriptors</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.115">FSTableDescriptors</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootdir)</pre>
</li>
</ul>
<a name="FSTableDescriptors-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FSTableDescriptors</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.119">FSTableDescriptors</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootdir,
boolean&nbsp;fsreadonly,
boolean&nbsp;usecache)</pre>
</li>
</ul>
<a name="FSTableDescriptors-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-boolean-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FSTableDescriptors</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.124">FSTableDescriptors</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootdir,
boolean&nbsp;fsreadonly,
boolean&nbsp;usecache,
int&nbsp;tableDescriptorParallelLoadThreads)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="tryUpdateMetaTableDescriptor-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tryUpdateMetaTableDescriptor</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.140">tryUpdateMetaTableDescriptor</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
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="tryUpdateAndGetMetaTableDescriptor-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tryUpdateAndGetMetaTableDescriptor</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.145">tryUpdateAndGetMetaTableDescriptor</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootdir)
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="getTableFamilyDescForMeta-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableFamilyDescForMeta</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.166">getTableFamilyDescForMeta</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
</li>
</ul>
<a name="getReplBarrierFamilyDescForMeta--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReplBarrierFamilyDescForMeta</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.175">getReplBarrierFamilyDescForMeta</a>()</pre>
</li>
</ul>
<a name="createMetaTableDescriptorBuilder-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMetaTableDescriptorBuilder</h4>
<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.183">createMetaTableDescriptorBuilder</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
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="isUsecache--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUsecache</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.214">isUsecache</a>()</pre>
</li>
</ul>
<a name="get-org.apache.hadoop.hbase.TableName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>@Nullable
public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.227">get</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
<div class="block">Get the current table descriptor for the given table, or null if none exists.
<p/>
Uses a local cache of the descriptor but still checks the filesystem on each call if
<a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#fsvisited"><code>fsvisited</code></a> is not <code>true</code>, i.e, we haven't done a full scan yet, to see if a newer
file has been created since the cached one was read.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#get-org.apache.hadoop.hbase.TableName-">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></dd>
</dl>
</li>
</ul>
<a name="getAll--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAll</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.260">getAll</a>()
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">Returns a map from table name to table descriptor for all tables.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#getAll--">getAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of all descriptors.</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="internalGet-org.apache.hadoop.fs.Path-java.util.Map-java.util.concurrent.atomic.AtomicBoolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>internalGet</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.302">internalGet</a>(org.apache.hadoop.fs.Path&nbsp;dir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;tds,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a>&nbsp;allvisited)</pre>
</li>
</ul>
<a name="getByNamespace-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByNamespace</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.316">getByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
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">Find descriptors by namespace.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#getByNamespace-java.lang.String-">getByNamespace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of all descriptors.</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>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#get-org.apache.hadoop.hbase.TableName-"><code>get(org.apache.hadoop.hbase.TableName)</code></a></dd>
</dl>
</li>
</ul>
<a name="update-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.331">update</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td,
boolean&nbsp;cacheOnly)
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 interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#update-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">TableDescriptors</a></code></span></div>
<div class="block">Add or update descriptor</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#update-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">update</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>td</code> - Descriptor to set into TableDescriptors</dd>
<dd><code>cacheOnly</code> - only add the given <code>htd</code> to cache, without updating the storage. For
example, when creating table, we will write the descriptor to fs when creating
the fs layout, so we do not need to update the fs again.</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="updateTableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateTableDescriptor</h4>
<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.350">updateTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td)
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="remove-org.apache.hadoop.hbase.TableName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.367">remove</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)
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">Removes the table descriptor from the local cache and returns it. If not in read only mode, it
also deletes the entire table directory(!) from the FileSystem.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#remove-org.apache.hadoop.hbase.TableName-">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></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="isTableDir-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTableDir</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.384">isTableDir</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir)
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">Check whether we have a valid TableDescriptor.</div>
<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="getTableDir-org.apache.hadoop.hbase.TableName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableDir</h4>
<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.402">getTableDir</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
<div class="block">Return the table directory in HDFS</div>
</li>
</ul>
<a name="formatTableInfoSequenceId-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>formatTableInfoSequenceId</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.424">formatTableInfoSequenceId</a>(int&nbsp;number)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>number</code> - Number to use as suffix.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns zero-prefixed decimal version of passed number (Does absolute in case number is
negative).</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.435">close</a>()
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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></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="getTableInfoSequenceIdAndFileLength-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableInfoSequenceIdAndFileLength</h4>
<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.SequenceIdAndFileLength.html" title="class in org.apache.hadoop.hbase.util">FSTableDescriptors.SequenceIdAndFileLength</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.460">getTableInfoSequenceIdAndFileLength</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
<div class="block">Returns the current sequence id and file length or 0 if none found.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>p</code> - Path to a <code>.tableinfo</code> file.</dd>
</dl>
</li>
</ul>
<a name="getTableInfoFileName-int-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableInfoFileName</h4>
<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.486">getTableInfoFileName</a>(int&nbsp;sequenceId,
byte[]&nbsp;content)</pre>
<div class="block">Returns Name of tableinfo file.</div>
</li>
</ul>
<a name="getTableDescriptorFromFs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableDescriptorFromFs</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.495">getTableDescriptorFromFs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;hbaseRootDir,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
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">Returns the latest table descriptor for the given table directly from the file system if it
exists, bypassing the local cache. Returns null if it's not found.</div>
<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="getTableDescriptorFromFs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableDescriptorFromFs</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.505">getTableDescriptorFromFs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir)
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">Returns the latest table descriptor for the table located at the given directory directly from
the file system if it exists.</div>
<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="deleteMalformedFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteMalformedFile</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.510">deleteMalformedFile</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;file)
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="getTableDescriptorFromFs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableDescriptorFromFs</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.FileStatus,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.517">getTableDescriptorFromFs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir,
boolean&nbsp;readonly)
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="deleteTableDescriptors-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteTableDescriptors</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.570">deleteTableDescriptors</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir)
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="deleteTableDescriptorFiles-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteTableDescriptorFiles</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.579">deleteTableDescriptorFiles</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;dir,
int&nbsp;maxSequenceId)
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">Deletes files matching the table info file pattern within the given directory whose sequenceId
is at most the given max sequenceId.</div>
<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="writeTableDescriptor-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.FileStatus-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeTableDescriptor</h4>
<pre>private static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.603">writeTableDescriptor</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td,
org.apache.hadoop.fs.Path&nbsp;tableDir,
org.apache.hadoop.fs.FileStatus&nbsp;currentDescriptorFile)
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">Attempts to write a new table descriptor to the given table's directory. It begins at the
currentSequenceId + 1 and tries 10 times to find a new sequence number not already in use.
<p/>
Removes the current descriptor file if passed in.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Descriptor file or null if we failed write.</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="createTableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTableDescriptor</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.645">createTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
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">Create new TableDescriptor in HDFS. Happens when we are creating table. Used by tests.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if we successfully created file.</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="createTableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTableDescriptor</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.654">createTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
boolean&nbsp;forceCreation)
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">Create new TableDescriptor in HDFS. Happens when we are creating table. If forceCreation is
true then even if previous table descriptor is present it will be overwritten</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if we successfully created file.</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="createTableDescriptorForTableDirectory-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTableDescriptorForTableDirectory</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.672">createTableDescriptorForTableDirectory</a>(org.apache.hadoop.fs.Path&nbsp;tableDir,
<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
boolean&nbsp;forceCreation)
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">Create a new TableDescriptor in HDFS in the specified table directory. Happens when we create a
new table during cluster start or in Clone and Create Table Procedures. Checks readOnly flag
passed on construction.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tableDir</code> - table directory under which we should write the file</dd>
<dd><code>htd</code> - description of the table to write</dd>
<dd><code>forceCreation</code> - if <tt>true</tt>,then even if previous table descriptor is present it will
be overwritten</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if the we successfully created the file, <tt>false</tt> if the file
already exists and we weren't forcing the descriptor creation.</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> - if a filesystem error occurs</dd>
</dl>
</li>
</ul>
<a name="createTableDescriptorForTableDirectory-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createTableDescriptorForTableDirectory</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.692">createTableDescriptorForTableDirectory</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir,
<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
boolean&nbsp;forceCreation)
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">Create a new TableDescriptor in HDFS in the specified table directory. Happens when we create a
new table snapshoting. Does not enforce read-only. That is for caller to determine.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fs</code> - Filesystem to use.</dd>
<dd><code>tableDir</code> - table directory under which we should write the file</dd>
<dd><code>htd</code> - description of the table to write</dd>
<dd><code>forceCreation</code> - if <tt>true</tt>,then even if previous table descriptor is present it will
be overwritten</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if the we successfully created the file, <tt>false</tt> if the file
already exists and we weren't forcing the descriptor creation.</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> - if a filesystem error occurs</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/FSTableDescriptors.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/FSRegionScanner.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/FSTableDescriptors.SequenceIdAndFileLength.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/FSTableDescriptors.html" target="_top">Frames</a></li>
<li><a href="FSTableDescriptors.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><a href="#nested.class.summary">Nested</a>&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;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>