blob: b7cec31da83c80826ca65dc49979128235b8bb24 [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-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="FSTableDescriptors (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":10,"i5":9,"i6":9,"i7":10,"i8":10,"i9":10,"i10":9,"i11":9,"i12":9,"i13":9,"i14":10,"i15":9,"i16":9,"i17":9,"i18":9,"i19":10,"i20":9,"i21":10,"i22":9,"i23":10,"i24":9,"i25":9,"i26":10,"i27":10,"i28":9,"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/FSUtils.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>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 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="../../../../../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.75">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">
<!-- =========== 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 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="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#fsreadonly">fsreadonly</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#fsvisited">fsvisited</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#invocations">invocations</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<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="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#rootdir">rootdir</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>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>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_FILE_REGEX">TABLEINFO_FILE_REGEX</a></span></code>
<div class="block">Regex to eat up sequenceid suffix on a .tableinfo file.</div>
</td>
</tr>
<tr class="rowColor">
<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="altColor">
<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="rowColor">
<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#TMP_DIR">TMP_DIR</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>
</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>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="i1" 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-">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="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-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="i3" class="rowColor">
<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="i4" 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#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="i5" 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="i6" class="altColor">
<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="i7" class="rowColor">
<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="i8" 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#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="i9" 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#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="i10" class="altColor">
<td class="colFirst"><code>private static org.apache.hadoop.fs.FileStatus</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getCurrentTableInfoStatus-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">getCurrentTableInfoStatus</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;dir,
boolean&nbsp;removeOldFiles)</code>
<div class="block">Find the most current table info file in the given directory
<p/>
Looks within the given directory for any table info files and takes the 'current' one - meaning
the one with the highest sequence number if present or no sequence number at all if none exist
(for backward compatibility from before there were sequence numbers).</div>
</td>
</tr>
<tr id="i11" 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="i12" 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="i13" 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#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="i14" 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#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="i15" 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#getTableFamilyDescForMeta-org.apache.hadoop.conf.Configuration-">getTableFamilyDescForMeta</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<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-">getTableInfoFileName</a></span>(int&nbsp;sequenceid)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static org.apache.hadoop.fs.FileStatus</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableInfoPath-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableInfoPath</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir)</code>
<div class="block">Find the most current table info file for the table located in the given table directory.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>private static org.apache.hadoop.fs.FileStatus</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableInfoPath-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">getTableInfoPath</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir,
boolean&nbsp;removeOldFiles)</code>
<div class="block">Find the most current table info file for the table in the given table directory.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.FileStatus</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#getTableInfoPath-org.apache.hadoop.fs.Path-">getTableInfoPath</a></span>(org.apache.hadoop.fs.Path&nbsp;tableDir)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<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#getTableInfoSequenceId-org.apache.hadoop.fs.Path-">getTableInfoSequenceId</a></span>(org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
</tr>
<tr id="i21" 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="i22" class="altColor">
<td class="colFirst"><code>private 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#readTableDescriptor-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.FileStatus-">readTableDescriptor</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.FileStatus&nbsp;status)</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<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="i24" 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#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="i25" class="rowColor">
<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="i26" 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#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="i27" class="rowColor">
<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="i28" class="altColor">
<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;htd,
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>
<tr id="i29" 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#writeTD-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.TableDescriptor-">writeTD</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;p,
<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</code>&nbsp;</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.76">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.77">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.78">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.79">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.80">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.81">fsvisited</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.83">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.84">invocations</a></pre>
</li>
</ul>
<a name="TABLEINFO_FILE_PREFIX">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TABLEINFO_FILE_PREFIX</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.89">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.90">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="TMP_DIR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TMP_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.91">TMP_DIR</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.FSTableDescriptors.TMP_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.96">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.418">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.433">TABLEINFO_PATHFILTER</a></pre>
</li>
</ul>
<a name="WIDTH_OF_SEQUENCE_ID">
<!-- -->
</a>
<ul class="blockList">
<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.443">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>
<a name="TABLEINFO_FILE_REGEX">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TABLEINFO_FILE_REGEX</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.465">TABLEINFO_FILE_REGEX</a></pre>
<div class="block">Regex to eat up sequenceid suffix on a .tableinfo file.
Use regex because may encounter oldstyle .tableinfos where there is no
sequenceid on the end.</div>
</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.102">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.106">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="blockListLast">
<li class="blockList">
<h4>FSTableDescriptors</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.110">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>
</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.118">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.123">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.143">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.157">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.168">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.202">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.215">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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>TableDescriptor for tablename</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.249">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="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.276">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.291">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.308">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.325">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="returnLabel">Returns:</span></dt>
<dd>Instance of table descriptor or null if none found.</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="getTableInfoPath-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableInfoPath</h4>
<pre>private&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.339">getTableInfoPath</a>(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="getTableInfoPath-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableInfoPath</h4>
<pre>public static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.353">getTableInfoPath</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">Find the most current table info file for the table located in the given table directory.
Looks within the <a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_DIR"><code>TABLEINFO_DIR</code></a> subdirectory of the given directory for any table info
files and takes the 'current' one - meaning the one with the highest sequence number if present
or no sequence number at all if none exist (for backward compatibility from before there
were sequence numbers).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The file status of the current table info file or null if it does not exist</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="getTableInfoPath-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableInfoPath</h4>
<pre>private static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.370">getTableInfoPath</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;tableDir,
boolean&nbsp;removeOldFiles)
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 the most current table info file for the table in the given table directory.
Looks within the <a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_DIR"><code>TABLEINFO_DIR</code></a> subdirectory of the given directory for any table info
files and takes the 'current' one - meaning the one with the highest sequence number if
present or no sequence number at all if none exist (for backward compatibility from before
there were sequence numbers).
If there are multiple table info files found and removeOldFiles is true it also deletes the
older files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The file status of the current table info file or null if none exist</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="getCurrentTableInfoStatus-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentTableInfoStatus</h4>
<pre>private static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.387">getCurrentTableInfoStatus</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;dir,
boolean&nbsp;removeOldFiles)
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 the most current table info file in the given directory
<p/>
Looks within the given directory for any table info files and takes the 'current' one - meaning
the one with the highest sequence number if present or no sequence number at all if none exist
(for backward compatibility from before there were sequence numbers).
<p/>
If there are multiple possible files found and the we're not in read only mode it also deletes
the older files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The file status of the current table info file or null if it does not exist</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="getTableDir-org.apache.hadoop.hbase.TableName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableDir</h4>
<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.429">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.450">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="getTableInfoSequenceId-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableInfoSequenceId</h4>
<pre>static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.472">getTableInfoSequenceId</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>p</code> - Path to a <code>.tableinfo</code> file.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The current editid or 0 if none found.</dd>
</dl>
</li>
</ul>
<a name="getTableInfoFileName-int-">
<!-- -->
</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.491">getTableInfoFileName</a>(int&nbsp;sequenceid)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sequenceid</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Name of tableinfo file.</dd>
</dl>
</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.500">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.511">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="../../../../../org/apache/hadoop/hbase/TableInfoMissingException.html" title="class in org.apache.hadoop.hbase">TableInfoMissingException</a></code> - if there is no descriptor</dd>
<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="readTableDescriptor-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.FileStatus-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readTableDescriptor</h4>
<pre>private 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.520">readTableDescriptor</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.FileStatus&nbsp;status)
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.543">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.568">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;htd,
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 first writes it to
the .tmp dir then uses an atomic rename to move it into place. 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="writeTD-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.TableDescriptor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeTD</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.622">writeTD</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;p,
<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>
<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="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.639">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.650">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.668">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.688">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/FSUtils.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>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>