blob: cf394d7ffe95775c008d16156948b8b704153510 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BackupUtils (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.hadoop.hbase.backup.util, class: BackupUtils">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/BackupUtils.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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<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="sub-nav-list">
<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>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.hadoop.hbase.backup.util</a></div>
<h1 title="Class BackupUtils" class="title">Class BackupUtils</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.apache.hadoop.hbase.backup.util.BackupUtils</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="annotations">@Private
</span><span class="modifiers">public final class </span><span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-74">BackupUtils</a></span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">A collection for methods used by multiple classes to backup HBase tables.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private static final org.slf4j.Logger</code></div>
<div class="col-second even-row-color"><code><a href="#LOG" class="member-name-link">LOG</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color"><code><a href="#LOGNAME_SEPARATOR" class="member-name-link">LOGNAME_SEPARATOR</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#MILLISEC_IN_HOUR" class="member-name-link">MILLISEC_IN_HOUR</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private </code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">BackupUtils</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#checkPathExist(java.lang.String,org.apache.hadoop.conf.Configuration)" class="member-name-link">checkPathExist</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupStr,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Check whether the backup path exist</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#checkTargetDir(java.lang.String,org.apache.hadoop.conf.Configuration)" class="member-name-link">checkTargetDir</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupRootPath,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Check target path first, confirm it doesn't exist before backup</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#cleanupBackupData(org.apache.hadoop.hbase.backup.BackupInfo,org.apache.hadoop.conf.Configuration)" class="member-name-link">cleanupBackupData</a><wbr>(<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;context,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#cleanupHLogDir(org.apache.hadoop.hbase.backup.BackupInfo,org.apache.hadoop.conf.Configuration)" class="member-name-link">cleanupHLogDir</a><wbr>(<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;backupInfo,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Clean up directories which are generated when DistCp copying hlogs</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#cleanupTargetDir(org.apache.hadoop.hbase.backup.BackupInfo,org.apache.hadoop.conf.Configuration)" class="member-name-link">cleanupTargetDir</a><wbr>(<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;backupInfo,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#copyTableRegionInfo(org.apache.hadoop.hbase.client.Connection,org.apache.hadoop.hbase.backup.BackupInfo,org.apache.hadoop.conf.Configuration)" class="member-name-link">copyTableRegionInfo</a><wbr>(<a href="../../client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;backupInfo,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">copy out Table RegionInfo into incremental backup image need to consider move this logic into
HBackupFileSystem</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../tool/BulkLoadHFiles.html" title="interface in org.apache.hadoop.hbase.tool">BulkLoadHFiles</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createLoader(org.apache.hadoop.conf.Configuration)" class="member-name-link">createLoader</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;config)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../RestoreRequest.html" title="class in org.apache.hadoop.hbase.backup">RestoreRequest</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createRestoreRequest(java.lang.String,java.lang.String,boolean,org.apache.hadoop.hbase.TableName%5B%5D,org.apache.hadoop.hbase.TableName%5B%5D,boolean)" class="member-name-link">createRestoreRequest</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupId,
boolean&nbsp;check,
<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;fromTables,
<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;toTables,
boolean&nbsp;isOverwrite)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Create restore request.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#failed(int)" class="member-name-link">failed</a><wbr>(int&nbsp;result)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#findMostRecentBackupId(java.lang.String%5B%5D)" class="member-name-link">findMostRecentBackupId</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;backupIds)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static org.apache.hadoop.fs.Path</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getBulkOutputDir(java.lang.String,org.apache.hadoop.conf.Configuration,boolean)" class="member-name-link">getBulkOutputDir</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
org.apache.hadoop.conf.Configuration&nbsp;conf,
boolean&nbsp;deleteOnExit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static org.apache.hadoop.fs.Path</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getBulkOutputDir(org.apache.hadoop.fs.Path,java.lang.String,org.apache.hadoop.conf.Configuration)" class="member-name-link">getBulkOutputDir</a><wbr>(org.apache.hadoop.fs.Path&nbsp;restoreRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static org.apache.hadoop.fs.Path</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getBulkOutputDir(org.apache.hadoop.fs.Path,java.lang.String,org.apache.hadoop.conf.Configuration,boolean)" class="member-name-link">getBulkOutputDir</a><wbr>(org.apache.hadoop.fs.Path&nbsp;restoreRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
org.apache.hadoop.conf.Configuration&nbsp;conf,
boolean&nbsp;deleteOnExit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getCreationTime(org.apache.hadoop.fs.Path)" class="member-name-link">getCreationTime</a><wbr>(org.apache.hadoop.fs.Path&nbsp;p)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Given the log file, parse the timestamp from the file name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getFileNameCompatibleString(org.apache.hadoop.hbase.TableName)" class="member-name-link">getFileNameCompatibleString</a><wbr>(<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,java.util.List,org.apache.hadoop.fs.PathFilter)" class="member-name-link">getFiles</a><wbr>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;files,
org.apache.hadoop.fs.PathFilter&nbsp;filter)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getFilesLength(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)" class="member-name-link">getFilesLength</a><wbr>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;dir)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Get the total length of files under the given directory recursively.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getHistory(org.apache.hadoop.conf.Configuration,int,org.apache.hadoop.fs.Path,org.apache.hadoop.hbase.backup.BackupInfo.Filter...)" class="member-name-link">getHistory</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;conf,
int&nbsp;n,
org.apache.hadoop.fs.Path&nbsp;backupRootPath,
<a href="../BackupInfo.Filter.html" title="interface in org.apache.hadoop.hbase.backup">BackupInfo.Filter</a>...&nbsp;filters)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getHistory(org.apache.hadoop.conf.Configuration,org.apache.hadoop.fs.Path)" class="member-name-link">getHistory</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.Path&nbsp;backupRootPath)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getLogBackupDir(java.lang.String,java.lang.String)" class="member-name-link">getLogBackupDir</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupId)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Given the backup root dir and the backup id, return the log file location for an incremental
backup.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMinValue(java.util.Map)" class="member-name-link">getMinValue</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;T,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;&nbsp;map)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Get the min value for all the Values a map.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getPath(org.apache.hadoop.fs.Path)" class="member-name-link">getPath</a><wbr>(org.apache.hadoop.fs.Path&nbsp;p)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Return the 'path' component of a Path.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getRSLogTimestampMins(java.util.Map)" class="member-name-link">getRSLogTimestampMins</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;&gt;&nbsp;rsLogTimestampMap)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Loop through the RS log timestamp map for the tables, for each RS, find the min timestamp value
for the RS among the tables.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getTableBackupDir(java.lang.String,java.lang.String,org.apache.hadoop.hbase.TableName)" class="member-name-link">getTableBackupDir</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupId,
<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Given the backup root dir, backup id and the table name, return the backup image location,
which is also where the backup manifest file is.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static org.apache.hadoop.fs.Path</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getTmpRestoreOutputDir(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.conf.Configuration)" class="member-name-link">getTmpRestoreOutputDir</a><wbr>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Build temporary output path</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getUniqueWALFileNamePart(java.lang.String)" class="member-name-link">getUniqueWALFileNamePart</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;walFileName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns WAL file name</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getUniqueWALFileNamePart(org.apache.hadoop.fs.Path)" class="member-name-link">getUniqueWALFileNamePart</a><wbr>(org.apache.hadoop.fs.Path&nbsp;p)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns WAL file name</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getWALFilesOlderThan(org.apache.hadoop.conf.Configuration,java.util.HashMap)" class="member-name-link">getWALFilesOlderThan</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;c,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;&nbsp;hostTimestampMap)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Get list of all old WAL files (WALs and archive)</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static org.apache.hadoop.fs.FileStatus[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#listStatus(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.PathFilter)" class="member-name-link">listStatus</a><wbr>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;dir,
org.apache.hadoop.fs.PathFilter&nbsp;filter)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Calls fs.listStatus() and treats FileNotFoundException as non-fatal This accommodates
differences between hadoop versions, where hadoop 1 does not throw a FileNotFoundException, and
return an empty FileStatus[] while Hadoop 2 will throw FileNotFoundException.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#loadBackupInfo(org.apache.hadoop.fs.Path,java.lang.String,org.apache.hadoop.fs.FileSystem)" class="member-name-link">loadBackupInfo</a><wbr>(org.apache.hadoop.fs.Path&nbsp;backupRootPath,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupId,
org.apache.hadoop.fs.FileSystem&nbsp;fs)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#parseHostFromOldLog(org.apache.hadoop.fs.Path)" class="member-name-link">parseHostFromOldLog</a><wbr>(org.apache.hadoop.fs.Path&nbsp;p)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Parses host name:port from archived WAL path</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#parseHostNameFromLogFile(org.apache.hadoop.fs.Path)" class="member-name-link">parseHostNameFromLogFile</a><wbr>(org.apache.hadoop.fs.Path&nbsp;p)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Parses hostname:port from WAL file path</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#parseTableNames(java.lang.String)" class="member-name-link">parseTableNames</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tables)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#sortHistoryListDesc(java.util.ArrayList)" class="member-name-link">sortHistoryListDesc</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&gt;&nbsp;historyList)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Sort history list by start time in descending order.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#succeeded(int)" class="member-name-link">succeeded</a><wbr>(int&nbsp;result)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#validate(java.util.List,org.apache.hadoop.hbase.backup.impl.BackupManifest,org.apache.hadoop.conf.Configuration)" class="member-name-link">validate</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
<a href="../impl/BackupManifest.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupManifest</a>&nbsp;backupManifest,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#writeRegioninfoOnFilesystem(org.apache.hadoop.conf.Configuration,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.hbase.client.RegionInfo)" class="member-name-link">writeRegioninfoOnFilesystem</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;regionInfoDir,
<a href="../../client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Write the .regioninfo file on-disk.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="LOG">
<h3>LOG</h3>
<div class="member-signature"><span class="modifiers">private static final</span>&nbsp;<span class="return-type">org.slf4j.Logger</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-76">LOG</a></span></div>
</section>
</li>
<li>
<section class="detail" id="LOGNAME_SEPARATOR">
<h3>LOGNAME_SEPARATOR</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-77">LOGNAME_SEPARATOR</a></span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.backup.util.BackupUtils.LOGNAME_SEPARATOR">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="MILLISEC_IN_HOUR">
<h3>MILLISEC_IN_HOUR</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-78">MILLISEC_IN_HOUR</a></span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.backup.util.BackupUtils.MILLISEC_IN_HOUR">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>BackupUtils</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-80">BackupUtils</a></span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getRSLogTimestampMins(java.util.Map)">
<h3>getRSLogTimestampMins</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-90">getRSLogTimestampMins</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;&gt;&nbsp;rsLogTimestampMap)</span></div>
<div class="block">Loop through the RS log timestamp map for the tables, for each RS, find the min timestamp value
for the RS among the tables.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>rsLogTimestampMap</code> - timestamp map</dd>
<dt>Returns:</dt>
<dd>the min timestamp of each RS</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="copyTableRegionInfo(org.apache.hadoop.hbase.client.Connection,org.apache.hadoop.hbase.backup.BackupInfo,org.apache.hadoop.conf.Configuration)">
<h3>copyTableRegionInfo</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-126">copyTableRegionInfo</a></span><wbr><span class="parameters">(<a href="../../client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;backupInfo,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">copy out Table RegionInfo into incremental backup image need to consider move this logic into
HBackupFileSystem</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>conn</code> - connection</dd>
<dd><code>backupInfo</code> - backup info</dd>
<dd><code>conf</code> - configuration</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - exception</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="writeRegioninfoOnFilesystem(org.apache.hadoop.conf.Configuration,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.hbase.client.RegionInfo)">
<h3>writeRegioninfoOnFilesystem</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-168">writeRegioninfoOnFilesystem</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;regionInfoDir,
<a href="../../client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Write the .regioninfo file on-disk.</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parseHostNameFromLogFile(org.apache.hadoop.fs.Path)">
<h3>parseHostNameFromLogFile</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-188">parseHostNameFromLogFile</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.Path&nbsp;p)</span></div>
<div class="block">Parses hostname:port from WAL file path</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>p</code> - path to WAL file</dd>
<dt>Returns:</dt>
<dd>hostname:port</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getUniqueWALFileNamePart(java.lang.String)">
<h3>getUniqueWALFileNamePart</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-212">getUniqueWALFileNamePart</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;walFileName)</span></div>
<div class="block">Returns WAL file name</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>walFileName</code> - WAL file name</dd>
<dt>Returns:</dt>
<dd>WAL file name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getUniqueWALFileNamePart(org.apache.hadoop.fs.Path)">
<h3>getUniqueWALFileNamePart</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-221">getUniqueWALFileNamePart</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.Path&nbsp;p)</span></div>
<div class="block">Returns WAL file name</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>p</code> - WAL file path</dd>
<dt>Returns:</dt>
<dd>WAL file name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFilesLength(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)">
<h3>getFilesLength</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-232">getFilesLength</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;dir)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Get the total length of files under the given directory recursively.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fs</code> - The hadoop file system</dd>
<dd><code>dir</code> - The target directory</dd>
<dt>Returns:</dt>
<dd>the total length of files</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - exception</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getWALFilesOlderThan(org.apache.hadoop.conf.Configuration,java.util.HashMap)">
<h3>getWALFilesOlderThan</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-254">getWALFilesOlderThan</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;c,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;&nbsp;hostTimestampMap)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Get list of all old WAL files (WALs and archive)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>c</code> - configuration</dd>
<dd><code>hostTimestampMap</code> - {host,timestamp} map</dd>
<dt>Returns:</dt>
<dd>list of WAL files</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - exception</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parseTableNames(java.lang.String)">
<h3>parseTableNames</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-284">parseTableNames</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tables)</span></div>
</section>
</li>
<li>
<section class="detail" id="checkPathExist(java.lang.String,org.apache.hadoop.conf.Configuration)">
<h3>checkPathExist</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-299">checkPathExist</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupStr,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Check whether the backup path exist</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>backupStr</code> - backup</dd>
<dd><code>conf</code> - configuration</dd>
<dt>Returns:</dt>
<dd>Yes if path exists</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - exception</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="checkTargetDir(java.lang.String,org.apache.hadoop.conf.Configuration)">
<h3>checkTargetDir</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-319">checkTargetDir</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupRootPath,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Check target path first, confirm it doesn't exist before backup</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>backupRootPath</code> - backup destination path</dd>
<dd><code>conf</code> - configuration</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - exception</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMinValue(java.util.Map)">
<h3>getMinValue</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-348">getMinValue</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;T,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;&nbsp;map)</span></div>
<div class="block">Get the min value for all the Values a map.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>map</code> - map</dd>
<dt>Returns:</dt>
<dd>the min value</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parseHostFromOldLog(org.apache.hadoop.fs.Path)">
<h3>parseHostFromOldLog</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-364">parseHostFromOldLog</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.Path&nbsp;p)</span></div>
<div class="block">Parses host name:port from archived WAL path</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>p</code> - path</dd>
<dt>Returns:</dt>
<dd>host name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCreationTime(org.apache.hadoop.fs.Path)">
<h3>getCreationTime</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-387">getCreationTime</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.Path&nbsp;p)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Given the log file, parse the timestamp from the file name. The timestamp is the last number.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>p</code> - a path to the log file</dd>
<dt>Returns:</dt>
<dd>the timestamp</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - exception</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,java.util.List,org.apache.hadoop.fs.PathFilter)">
<h3>getFiles</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-396">getFiles</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;files,
org.apache.hadoop.fs.PathFilter&nbsp;filter)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="cleanupBackupData(org.apache.hadoop.hbase.backup.BackupInfo,org.apache.hadoop.conf.Configuration)">
<h3>cleanupBackupData</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-413">cleanupBackupData</a></span><wbr><span class="parameters">(<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;context,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="cleanupHLogDir(org.apache.hadoop.hbase.backup.BackupInfo,org.apache.hadoop.conf.Configuration)">
<h3>cleanupHLogDir</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-424">cleanupHLogDir</a></span><wbr><span class="parameters">(<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;backupInfo,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Clean up directories which are generated when DistCp copying hlogs</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>backupInfo</code> - backup info</dd>
<dd><code>conf</code> - configuration</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - exception</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="cleanupTargetDir(org.apache.hadoop.hbase.backup.BackupInfo,org.apache.hadoop.conf.Configuration)">
<h3>cleanupTargetDir</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-443">cleanupTargetDir</a></span><wbr><span class="parameters">(<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;backupInfo,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span></div>
</section>
</li>
<li>
<section class="detail" id="getTableBackupDir(java.lang.String,java.lang.String,org.apache.hadoop.hbase.TableName)">
<h3>getTableBackupDir</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-487">getTableBackupDir</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupId,
<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</span></div>
<div class="block">Given the backup root dir, backup id and the table name, return the backup image location,
which is also where the backup manifest file is. return value look like:
"hdfs://backup.hbase.org:9000/user/biadmin/backup1/backup_1396650096738/default/t1_dn/"</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>backupRootDir</code> - backup root directory</dd>
<dd><code>backupId</code> - backup id</dd>
<dd><code>tableName</code> - table name</dd>
<dt>Returns:</dt>
<dd>backupPath String for the particular table</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="sortHistoryListDesc(java.util.ArrayList)">
<h3>sortHistoryListDesc</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-499">sortHistoryListDesc</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&gt;&nbsp;historyList)</span></div>
<div class="block">Sort history list by start time in descending order.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>historyList</code> - history list</dd>
<dt>Returns:</dt>
<dd>sorted list of BackupCompleteData</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="listStatus(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.PathFilter)">
<h3>listStatus</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.FileStatus[]</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-521">listStatus</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;dir,
org.apache.hadoop.fs.PathFilter&nbsp;filter)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Calls fs.listStatus() and treats FileNotFoundException as non-fatal This accommodates
differences between hadoop versions, where hadoop 1 does not throw a FileNotFoundException, and
return an empty FileStatus[] while Hadoop 2 will throw FileNotFoundException.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fs</code> - file system</dd>
<dd><code>dir</code> - directory</dd>
<dd><code>filter</code> - path filter</dd>
<dt>Returns:</dt>
<dd>null if dir is empty or doesn't exist, otherwise FileStatus array</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPath(org.apache.hadoop.fs.Path)">
<h3>getPath</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-549">getPath</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.Path&nbsp;p)</span></div>
<div class="block">Return the 'path' component of a Path. In Hadoop, Path is a URI. This method returns the 'path'
component of a Path's URI: e.g. If a Path is
<code>hdfs://example.org:9000/hbase_trunk/TestTable/compaction.dir</code>, this method returns
<code>/hbase_trunk/TestTable/compaction.dir</code>. This method is useful if you want to print
out a Path without qualifying Filesystem instance.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>p</code> - file system Path whose 'path' component we are to return.</dd>
<dt>Returns:</dt>
<dd>Path portion of the Filesystem</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLogBackupDir(java.lang.String,java.lang.String)">
<h3>getLogBackupDir</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-560">getLogBackupDir</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupId)</span></div>
<div class="block">Given the backup root dir and the backup id, return the log file location for an incremental
backup.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>backupRootDir</code> - backup root directory</dd>
<dd><code>backupId</code> - backup id</dd>
<dt>Returns:</dt>
<dd>logBackupDir: ".../user/biadmin/backup1/WALs/backup_1396650096738"</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHistory(org.apache.hadoop.conf.Configuration,org.apache.hadoop.fs.Path)">
<h3>getHistory</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-565">getHistory</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.Path&nbsp;backupRootPath)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHistory(org.apache.hadoop.conf.Configuration,int,org.apache.hadoop.fs.Path,org.apache.hadoop.hbase.backup.BackupInfo.Filter...)">
<h3>getHistory</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-609">getHistory</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;conf,
int&nbsp;n,
org.apache.hadoop.fs.Path&nbsp;backupRootPath,
<a href="../BackupInfo.Filter.html" title="interface in org.apache.hadoop.hbase.backup">BackupInfo.Filter</a>...&nbsp;filters)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="loadBackupInfo(org.apache.hadoop.fs.Path,java.lang.String,org.apache.hadoop.fs.FileSystem)">
<h3>loadBackupInfo</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="../BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-631">loadBackupInfo</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.Path&nbsp;backupRootPath,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupId,
org.apache.hadoop.fs.FileSystem&nbsp;fs)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createRestoreRequest(java.lang.String,java.lang.String,boolean,org.apache.hadoop.hbase.TableName[],org.apache.hadoop.hbase.TableName[],boolean)">
<h3>createRestoreRequest</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="../RestoreRequest.html" title="class in org.apache.hadoop.hbase.backup">RestoreRequest</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-658">createRestoreRequest</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;backupId,
boolean&nbsp;check,
<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;fromTables,
<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;toTables,
boolean&nbsp;isOverwrite)</span></div>
<div class="block">Create restore request.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>backupRootDir</code> - backup root dir</dd>
<dd><code>backupId</code> - backup id</dd>
<dd><code>check</code> - check only</dd>
<dd><code>fromTables</code> - table list from</dd>
<dd><code>toTables</code> - table list to</dd>
<dd><code>isOverwrite</code> - overwrite data</dd>
<dt>Returns:</dt>
<dd>request obkect</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="validate(java.util.List,org.apache.hadoop.hbase.backup.impl.BackupManifest,org.apache.hadoop.conf.Configuration)">
<h3>validate</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-667">validate</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
<a href="../impl/BackupManifest.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupManifest</a>&nbsp;backupManifest,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBulkOutputDir(org.apache.hadoop.fs.Path,java.lang.String,org.apache.hadoop.conf.Configuration,boolean)">
<h3>getBulkOutputDir</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.Path</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-694">getBulkOutputDir</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.Path&nbsp;restoreRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
org.apache.hadoop.conf.Configuration&nbsp;conf,
boolean&nbsp;deleteOnExit)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBulkOutputDir(org.apache.hadoop.fs.Path,java.lang.String,org.apache.hadoop.conf.Configuration)">
<h3>getBulkOutputDir</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.Path</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-705">getBulkOutputDir</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.Path&nbsp;restoreRootDir,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBulkOutputDir(java.lang.String,org.apache.hadoop.conf.Configuration,boolean)">
<h3>getBulkOutputDir</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.Path</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-710">getBulkOutputDir</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
org.apache.hadoop.conf.Configuration&nbsp;conf,
boolean&nbsp;deleteOnExit)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTmpRestoreOutputDir(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.conf.Configuration)">
<h3>getTmpRestoreOutputDir</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.Path</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-722">getTmpRestoreOutputDir</a></span><wbr><span class="parameters">(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.conf.Configuration&nbsp;conf)</span></div>
<div class="block">Build temporary output path</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fs</code> - filesystem for default output dir</dd>
<dd><code>conf</code> - configuration</dd>
<dt>Returns:</dt>
<dd>output path</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFileNameCompatibleString(org.apache.hadoop.hbase.TableName)">
<h3>getFileNameCompatibleString</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-728">getFileNameCompatibleString</a></span><wbr><span class="parameters">(<a href="../../TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</span></div>
</section>
</li>
<li>
<section class="detail" id="failed(int)">
<h3>failed</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-732">failed</a></span><wbr><span class="parameters">(int&nbsp;result)</span></div>
</section>
</li>
<li>
<section class="detail" id="succeeded(int)">
<h3>succeeded</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-736">succeeded</a></span><wbr><span class="parameters">(int&nbsp;result)</span></div>
</section>
</li>
<li>
<section class="detail" id="createLoader(org.apache.hadoop.conf.Configuration)">
<h3>createLoader</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="../../tool/BulkLoadHFiles.html" title="interface in org.apache.hadoop.hbase.tool">BulkLoadHFiles</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-740">createLoader</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;config)</span></div>
</section>
</li>
<li>
<section class="detail" id="findMostRecentBackupId(java.lang.String[])">
<h3>findMostRecentBackupId</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/util/BackupUtils.html#line-755">findMostRecentBackupId</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;backupIds)</span></div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>