This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 66291110e77 Published site at 052d36b0b262daba69bdbea4c44ef4e4b951df2b.
66291110e77 is described below

commit 66291110e774127200f9d19cfa704a962c1c10c4
Author: jenkins <[email protected]>
AuthorDate: Thu Jul 17 14:48:52 2025 +0000

    Published site at 052d36b0b262daba69bdbea4c44ef4e4b951df2b.
---
 acid-semantics.html                                |   2 +-
 apache_hbase_reference_guide.pdf                   |   4 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html     |  36 ++++-
 book.html                                          |   2 +-
 bulk-loads.html                                    |   2 +-
 checkstyle-aggregate.html                          |  18 +--
 coc.html                                           |   2 +-
 dependencies.html                                  |   2 +-
 dependency-convergence.html                        |   2 +-
 dependency-info.html                               |   2 +-
 dependency-management.html                         |   2 +-
 devapidocs/index-all.html                          |   6 +-
 devapidocs/member-search-index.js                  |   2 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html     |  32 ++++-
 .../WALInputFormat.WALKeyRecordReader.html         |  36 ++++-
 .../mapreduce/WALInputFormat.WALRecordReader.html  |  36 ++++-
 .../hbase/mapreduce/WALInputFormat.WALSplit.html   |  36 ++++-
 .../hadoop/hbase/mapreduce/WALInputFormat.html     |  36 ++++-
 downloads.html                                     |   2 +-
 export_control.html                                |   2 +-
 index.html                                         |   2 +-
 issue-management.html                              |   2 +-
 licenses.html                                      |   2 +-
 mailing-lists.html                                 |   2 +-
 metrics.html                                       |   2 +-
 old_news.html                                      |   2 +-
 plugin-management.html                             |   2 +-
 plugins.html                                       |   2 +-
 poweredbyhbase.html                                |   2 +-
 project-info.html                                  |   2 +-
 project-reports.html                               |   2 +-
 pseudo-distributed.html                            |   2 +-
 replication.html                                   |   2 +-
 resources.html                                     |   2 +-
 scm.html                                           |   2 +-
 sponsors.html                                      |   2 +-
 summary.html                                       |   2 +-
 supportingprojects.html                            |   2 +-
 team.html                                          |   2 +-
 testapidocs/index-all.html                         |   4 +
 testapidocs/member-search-index.js                 |   2 +-
 .../hadoop/hbase/mapreduce/TestWALInputFormat.html | 159 ++++++++++++++-------
 testdevapidocs/index-all.html                      |   6 +
 testdevapidocs/member-search-index.js              |   2 +-
 .../hadoop/hbase/class-use/HBaseTestingUtil.html   |  73 +++++-----
 .../hadoop/hbase/mapreduce/TestWALInputFormat.html |  53 +++++--
 .../hadoop/hbase/mapreduce/TestWALInputFormat.html | 159 ++++++++++++++-------
 47 files changed, 529 insertions(+), 229 deletions(-)

diff --git a/acid-semantics.html b/acid-semantics.html
index 6c3ada1b4a0..2fe1902f750 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -469,7 +469,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index bbb71c46f6f..7776666b2e4 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 2.0.6, based on Prawn 2.4.0)
 /Producer (Apache HBase Team)
-/ModDate (D:20250716143000+00'00')
-/CreationDate (D:20250716144558+00'00')
+/ModDate (D:20250717143002+00'00')
+/CreationDate (D:20250717144557+00'00')
 >>
 endobj
 2 0 obj
diff --git 
a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html 
b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index 4854c379e07..f88b8fbfcb2 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -331,7 +331,7 @@
 <span class="source-line-no">318</span><span id="line-318">    for (Path 
inputPath : inputPaths) {</span>
 <span class="source-line-no">319</span><span id="line-319">      FileSystem fs 
= inputPath.getFileSystem(conf);</span>
 <span class="source-line-no">320</span><span id="line-320">      try {</span>
-<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, 
endTime);</span>
+<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime, 
conf);</span>
 <span class="source-line-no">322</span><span id="line-322">        
allFiles.addAll(files);</span>
 <span class="source-line-no">323</span><span id="line-323">      } catch 
(FileNotFoundException e) {</span>
 <span class="source-line-no">324</span><span id="line-324">        if 
(ignoreMissing) {</span>
@@ -362,11 +362,11 @@
 <span class="source-line-no">349</span><span id="line-349">   *                
  equal to this value else we will filter out the file. If name does not seem 
to</span>
 <span class="source-line-no">350</span><span id="line-350">   *                
  have a timestamp, we will just return it w/o filtering.</span>
 <span class="source-line-no">351</span><span id="line-351">   */</span>
-<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime)</span>
-<span class="source-line-no">353</span><span id="line-353">    throws 
IOException {</span>
+<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime,</span>
+<span class="source-line-no">353</span><span id="line-353">    Configuration 
conf) throws IOException {</span>
 <span class="source-line-no">354</span><span id="line-354">    
List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();</span>
 <span class="source-line-no">355</span><span id="line-355">    
LOG.debug("Scanning " + dir.toString() + " for WAL files");</span>
-<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = listLocatedFileStatus(fs, dir, 
conf);</span>
 <span class="source-line-no">357</span><span id="line-357">    if 
(!iter.hasNext()) {</span>
 <span class="source-line-no">358</span><span id="line-358">      return 
Collections.emptyList();</span>
 <span class="source-line-no">359</span><span id="line-359">    }</span>
@@ -374,7 +374,7 @@
 <span class="source-line-no">361</span><span id="line-361">      
LocatedFileStatus file = iter.next();</span>
 <span class="source-line-no">362</span><span id="line-362">      if 
(file.isDirectory()) {</span>
 <span class="source-line-no">363</span><span id="line-363">        // Recurse 
into sub directories</span>
-<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime));</span>
+<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime, conf));</span>
 <span class="source-line-no">365</span><span id="line-365">      } else 
{</span>
 <span class="source-line-no">366</span><span id="line-366">        
addFile(result, file, startTime, endTime);</span>
 <span class="source-line-no">367</span><span id="line-367">      }</span>
@@ -409,7 +409,31 @@
 <span class="source-line-no">396</span><span id="line-396">    
TaskAttemptContext context) throws IOException, InterruptedException {</span>
 <span class="source-line-no">397</span><span id="line-397">    return new 
WALKeyRecordReader();</span>
 <span class="source-line-no">398</span><span id="line-398">  }</span>
-<span class="source-line-no">399</span><span id="line-399">}</span>
+<span class="source-line-no">399</span><span id="line-399"></span>
+<span class="source-line-no">400</span><span id="line-400">  /**</span>
+<span class="source-line-no">401</span><span id="line-401">   * Attempts to 
return the {@link LocatedFileStatus} for the given directory. If the directory 
does</span>
+<span class="source-line-no">402</span><span id="line-402">   * not exist, it 
will check if the directory is an archived log file and try to find it</span>
+<span class="source-line-no">403</span><span id="line-403">   */</span>
+<span class="source-line-no">404</span><span id="line-404">  private static 
RemoteIterator&lt;LocatedFileStatus&gt; listLocatedFileStatus(FileSystem fs, 
Path dir,</span>
+<span class="source-line-no">405</span><span id="line-405">    Configuration 
conf) throws IOException {</span>
+<span class="source-line-no">406</span><span id="line-406">    try {</span>
+<span class="source-line-no">407</span><span id="line-407">      return 
fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">408</span><span id="line-408">    } catch 
(FileNotFoundException e) {</span>
+<span class="source-line-no">409</span><span id="line-409">      if 
(AbstractFSWALProvider.isArchivedLogFile(dir)) {</span>
+<span class="source-line-no">410</span><span id="line-410">        throw 
e;</span>
+<span class="source-line-no">411</span><span id="line-411">      }</span>
+<span class="source-line-no">412</span><span id="line-412"></span>
+<span class="source-line-no">413</span><span id="line-413">      LOG.warn("Log 
file {} not found, trying to find it in archive directory.", dir);</span>
+<span class="source-line-no">414</span><span id="line-414">      Path 
archiveFile = AbstractFSWALProvider.findArchivedLog(dir, conf);</span>
+<span class="source-line-no">415</span><span id="line-415">      if 
(archiveFile == null) {</span>
+<span class="source-line-no">416</span><span id="line-416">        
LOG.error("Did not find archive file for {}", dir);</span>
+<span class="source-line-no">417</span><span id="line-417">        throw 
e;</span>
+<span class="source-line-no">418</span><span id="line-418">      }</span>
+<span class="source-line-no">419</span><span id="line-419"></span>
+<span class="source-line-no">420</span><span id="line-420">      return 
fs.listLocatedStatus(archiveFile);</span>
+<span class="source-line-no">421</span><span id="line-421">    }</span>
+<span class="source-line-no">422</span><span id="line-422">  }</span>
+<span class="source-line-no">423</span><span id="line-423">}</span>
 
 
 
diff --git a/book.html b/book.html
index 96f74b1f36f..d8f5b43fdf5 100644
--- a/book.html
+++ b/book.html
@@ -49877,7 +49877,7 @@ 
org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 4.0.0-alpha-1-SNAPSHOT<br>
-Last updated 2025-07-16 14:30:00 UTC
+Last updated 2025-07-17 14:30:02 UTC
 </div>
 </div>
 <script type="text/x-mathjax-config">
diff --git a/bulk-loads.html b/bulk-loads.html
index 015fbcbe162..fcf2033b5b5 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -185,7 +185,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index b3560aa424e..04971b7411c 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -3255,7 +3255,7 @@
 <tr class="a">
 <td>annotation</td>
 <td><a class="externalLink" 
href="http://checkstyle.sourceforge.net/config_annotation.html#MissingDeprecated";>MissingDeprecated</a></td>
-<td>9</td>
+<td>12</td>
 <td><figure><img src="images/icon_error_sml.gif" alt="" 
/></figure>&#160;Error</td></tr>
 <tr class="b">
 <td>blocks</td>
@@ -3330,7 +3330,7 @@
 <tr class="b">
 <td>javadoc</td>
 <td><a class="externalLink" 
href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription";>NonEmptyAtclauseDescription</a></td>
-<td>49</td>
+<td>46</td>
 <td><figure><img src="images/icon_error_sml.gif" alt="" 
/></figure>&#160;Error</td></tr>
 <tr class="a">
 <td>misc</td>
@@ -4695,8 +4695,8 @@
 <th>Line</th></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" 
/></figure>&#160;Error</td>
-<td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>annotation</td>
+<td>MissingDeprecated</td>
 <td>Javadoc comment at column 20 has parse error. Missed HTML close tag 
'path-to-conf'. Sometimes it means that close tag missed for one of previous 
tags.</td>
 <td>172</td></tr></table></section><section>
 <h3 
id="org.apache.hadoop.hbase.client.Action.java">org/apache/hadoop/hbase/client/Action.java</h3>
@@ -9829,8 +9829,8 @@
 <th>Line</th></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" 
/></figure>&#160;Error</td>
-<td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>annotation</td>
+<td>MissingDeprecated</td>
 <td>Javadoc comment at column 14 has parse error. Details: mismatched input 
':' expecting &lt;EOF&gt; while parsing JAVADOC</td>
 <td>46</td></tr></table></section><section>
 <h3 
id="org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner.java">org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.java</h3>
@@ -16315,8 +16315,8 @@
 <th>Line</th></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" 
/></figure>&#160;Error</td>
-<td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>annotation</td>
+<td>MissingDeprecated</td>
 <td>Javadoc comment at column 20 has parse error. Missed HTML close tag 
'SpanData'. Sometimes it means that close tag missed for one of previous 
tags.</td>
 <td>65</td></tr></table></section><section>
 <h3 
id="org.apache.hadoop.hbase.util.AbstractHBaseTool.java">org/apache/hadoop/hbase/util/AbstractHBaseTool.java</h3>
@@ -18547,7 +18547,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/coc.html b/coc.html
index 20dd8afc043..669a8598a32 100644
--- a/coc.html
+++ b/coc.html
@@ -253,7 +253,7 @@ email to <a class="externalLink" 
href="mailto:[email protected]";>the priv
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/dependencies.html b/dependencies.html
index d699f64a7bd..4beb6b7f551 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -318,7 +318,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/dependency-convergence.html b/dependency-convergence.html
index dc4231ba65e..f342b554041 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -1103,7 +1103,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/dependency-info.html b/dependency-info.html
index b69c10a0170..2774472314e 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -200,7 +200,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/dependency-management.html b/dependency-management.html
index 46b6e90d4e8..ef2f1565997 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -1762,7 +1762,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index db29a80f05a..4e15d811081 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -49767,7 +49767,7 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Get the backing files associated with this WAL.</div>
 </dd>
-<dt><a 
href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,long,long)"
 class="member-name-link">getFiles(FileSystem, Path, long, long)</a> - Method 
in class org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.html" title="class in 
org.apache.hadoop.hbase.mapreduce">WALInputFormat</a></dt>
+<dt><a 
href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,long,long,org.apache.hadoop.conf.Configuration)"
 class="member-name-link">getFiles(FileSystem, Path, long, long, 
Configuration)</a> - Method in class org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.html" title="class in 
org.apache.hadoop.hbase.mapreduce">WALInputFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><a 
href="org/apache/hadoop/hbase/backup/util/BackupUtils.html#getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,java.util.List,org.apache.hadoop.fs.PathFilter)"
 class="member-name-link">getFiles(FileSystem, Path, List&lt;String&gt;, 
PathFilter)</a> - Static method in class org.apache.hadoop.hbase.backup.util.<a 
href="org/apache/hadoop/hbase/backup/util/BackupUtils.html" title="class in 
org.apache.hadoop.hbase.backup.util">BackupUtils</a></dt>
 <dd>&nbsp;</dd>
@@ -85262,6 +85262,10 @@ loadScripts(document, 'script');</script>
 </dd>
 <dt><a 
href="org/apache/hadoop/hbase/security/visibility/VisibilityController.html#listLabels(org.apache.hbase.thirdparty.com.google.protobuf.RpcController,org.apache.hadoop.hbase.shaded.protobuf.generated.VisibilityLabelsProtos.ListLabelsRequest,org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback)"
 class="member-name-link">listLabels(RpcController, 
VisibilityLabelsProtos.ListLabelsRequest, 
RpcCallback&lt;VisibilityLabelsProtos.ListLabelsResponse&gt;)</a> - Method in 
class org.ap [...]
 <dd>&nbsp;</dd>
+<dt><a 
href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#listLocatedFileStatus(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)"
 class="member-name-link">listLocatedFileStatus(FileSystem, Path, 
Configuration)</a> - Static method in class 
org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.html" title="class in 
org.apache.hadoop.hbase.mapreduce">WALInputFormat</a></dt>
+<dd>
+<div class="block">Attempts to return the <code>LocatedFileStatus</code> for 
the given directory.</div>
+</dd>
 <dt><a 
href="org/apache/hadoop/hbase/util/CommonFSUtils.html#listLocatedStatus(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)"
 class="member-name-link">listLocatedStatus(FileSystem, Path)</a> - Static 
method in class org.apache.hadoop.hbase.util.<a 
href="org/apache/hadoop/hbase/util/CommonFSUtils.html" title="class in 
org.apache.hadoop.hbase.util">CommonFSUtils</a></dt>
 <dd>
 <div class="block">Calls fs.listFiles() to get FileStatus and BlockLocations 
together for reducing rpc call</div>
diff --git a/devapidocs/member-search-index.js 
b/devapidocs/member-search-index.js
index 234d9dc3104..1997b90107c 100644
--- a/devapidocs/member-search-index.js
+++ b/devapidocs/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = 
[{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBlockcache()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBlocksize()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBloomfilter()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getCompression()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getInMemory()"},{"p":"org.apache.
 [...]
\ No newline at end of file
+memberSearchIndex = 
[{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBlockcache()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBlocksize()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBloomfilter()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getCompression()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getInMemory()"},{"p":"org.apache.
 [...]
\ No newline at end of file
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html 
b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index 76f979dcb19..5308dc75034 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -169,10 +169,11 @@ loadScripts(document, 'script');</script>
  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code></div>
 <div class="col-last odd-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code>private <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;org.apache.hadoop.fs.FileStatus&gt;</code></div>
-<div class="col-second even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code><a 
href="#getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,long,long)"
 
class="member-name-link">getFiles</a><wbr>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<div class="col-second even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code><a 
href="#getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,long,long,org.apache.hadoop.conf.Configuration)"
 
class="member-name-link">getFiles</a><wbr>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
  org.apache.hadoop.fs.Path&nbsp;dir,
  long&nbsp;startTime,
- long&nbsp;endTime)</code></div>
+ long&nbsp;endTime,
+ org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
 <div class="col-last even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code>private 
org.apache.hadoop.fs.Path[]</code></div>
 <div class="col-second odd-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code><a 
href="#getInputPaths(org.apache.hadoop.conf.Configuration)" 
class="member-name-link">getInputPaths</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
@@ -187,6 +188,13 @@ loadScripts(document, 'script');</script>
 <div class="col-last odd-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4">
 <div class="block">implementation shared with deprecated HLogInputFormat</div>
 </div>
+<div class="col-first even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4"><code>private static 
org.apache.hadoop.fs.RemoteIterator&lt;org.apache.hadoop.fs.LocatedFileStatus&gt;</code></div>
+<div class="col-second even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4"><code><a 
href="#listLocatedFileStatus(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)"
 
class="member-name-link">listLocatedFileStatus</a><wbr>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+ org.apache.hadoop.fs.Path&nbsp;dir,
+ 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">Attempts to return the <code>LocatedFileStatus</code> for 
the given directory.</div>
+</div>
 </div>
 </div>
 </div>
@@ -298,12 +306,13 @@ loadScripts(document, 'script');</script>
 </section>
 </li>
 <li>
-<section class="detail" 
id="getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,long,long)">
+<section class="detail" 
id="getFiles(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,long,long,org.apache.hadoop.conf.Configuration)">
 <h3>getFiles</h3>
 <div class="member-signature"><span 
class="modifiers">private</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;org.apache.hadoop.fs.FileStatus&gt;</span>&nbsp;<span
 class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line-352">getFiles</a></span><wbr><span
 class="parameters">(org.a [...]
  org.apache.hadoop.fs.Path&nbsp;dir,
  long&nbsp;startTime,
- long&nbsp;endTime)</span>
+ long&nbsp;endTime,
+ 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>Parameters:</dt>
@@ -343,6 +352,21 @@ loadScripts(document, 'script');</script>
 </dl>
 </section>
 </li>
+<li>
+<section class="detail" 
id="listLocatedFileStatus(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)">
+<h3>listLocatedFileStatus</h3>
+<div class="member-signature"><span class="modifiers">private 
static</span>&nbsp;<span 
class="return-type">org.apache.hadoop.fs.RemoteIterator&lt;org.apache.hadoop.fs.LocatedFileStatus&gt;</span>&nbsp;<span
 class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line-404">listLocatedFileStatus</a></span><wbr><span
 class="parameters">(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+ org.apache.hadoop.fs.Path&nbsp;dir,
+ 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">Attempts to return the <code>LocatedFileStatus</code> for 
the given directory. If the directory does
+ not exist, it will check if the directory is an archived log file and try to 
find it</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>
 </ul>
 </section>
 </li>
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
index b009fea2ac8..54274c67aee 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
@@ -331,7 +331,7 @@
 <span class="source-line-no">318</span><span id="line-318">    for (Path 
inputPath : inputPaths) {</span>
 <span class="source-line-no">319</span><span id="line-319">      FileSystem fs 
= inputPath.getFileSystem(conf);</span>
 <span class="source-line-no">320</span><span id="line-320">      try {</span>
-<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, 
endTime);</span>
+<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime, 
conf);</span>
 <span class="source-line-no">322</span><span id="line-322">        
allFiles.addAll(files);</span>
 <span class="source-line-no">323</span><span id="line-323">      } catch 
(FileNotFoundException e) {</span>
 <span class="source-line-no">324</span><span id="line-324">        if 
(ignoreMissing) {</span>
@@ -362,11 +362,11 @@
 <span class="source-line-no">349</span><span id="line-349">   *                
  equal to this value else we will filter out the file. If name does not seem 
to</span>
 <span class="source-line-no">350</span><span id="line-350">   *                
  have a timestamp, we will just return it w/o filtering.</span>
 <span class="source-line-no">351</span><span id="line-351">   */</span>
-<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime)</span>
-<span class="source-line-no">353</span><span id="line-353">    throws 
IOException {</span>
+<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime,</span>
+<span class="source-line-no">353</span><span id="line-353">    Configuration 
conf) throws IOException {</span>
 <span class="source-line-no">354</span><span id="line-354">    
List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();</span>
 <span class="source-line-no">355</span><span id="line-355">    
LOG.debug("Scanning " + dir.toString() + " for WAL files");</span>
-<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = listLocatedFileStatus(fs, dir, 
conf);</span>
 <span class="source-line-no">357</span><span id="line-357">    if 
(!iter.hasNext()) {</span>
 <span class="source-line-no">358</span><span id="line-358">      return 
Collections.emptyList();</span>
 <span class="source-line-no">359</span><span id="line-359">    }</span>
@@ -374,7 +374,7 @@
 <span class="source-line-no">361</span><span id="line-361">      
LocatedFileStatus file = iter.next();</span>
 <span class="source-line-no">362</span><span id="line-362">      if 
(file.isDirectory()) {</span>
 <span class="source-line-no">363</span><span id="line-363">        // Recurse 
into sub directories</span>
-<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime));</span>
+<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime, conf));</span>
 <span class="source-line-no">365</span><span id="line-365">      } else 
{</span>
 <span class="source-line-no">366</span><span id="line-366">        
addFile(result, file, startTime, endTime);</span>
 <span class="source-line-no">367</span><span id="line-367">      }</span>
@@ -409,7 +409,31 @@
 <span class="source-line-no">396</span><span id="line-396">    
TaskAttemptContext context) throws IOException, InterruptedException {</span>
 <span class="source-line-no">397</span><span id="line-397">    return new 
WALKeyRecordReader();</span>
 <span class="source-line-no">398</span><span id="line-398">  }</span>
-<span class="source-line-no">399</span><span id="line-399">}</span>
+<span class="source-line-no">399</span><span id="line-399"></span>
+<span class="source-line-no">400</span><span id="line-400">  /**</span>
+<span class="source-line-no">401</span><span id="line-401">   * Attempts to 
return the {@link LocatedFileStatus} for the given directory. If the directory 
does</span>
+<span class="source-line-no">402</span><span id="line-402">   * not exist, it 
will check if the directory is an archived log file and try to find it</span>
+<span class="source-line-no">403</span><span id="line-403">   */</span>
+<span class="source-line-no">404</span><span id="line-404">  private static 
RemoteIterator&lt;LocatedFileStatus&gt; listLocatedFileStatus(FileSystem fs, 
Path dir,</span>
+<span class="source-line-no">405</span><span id="line-405">    Configuration 
conf) throws IOException {</span>
+<span class="source-line-no">406</span><span id="line-406">    try {</span>
+<span class="source-line-no">407</span><span id="line-407">      return 
fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">408</span><span id="line-408">    } catch 
(FileNotFoundException e) {</span>
+<span class="source-line-no">409</span><span id="line-409">      if 
(AbstractFSWALProvider.isArchivedLogFile(dir)) {</span>
+<span class="source-line-no">410</span><span id="line-410">        throw 
e;</span>
+<span class="source-line-no">411</span><span id="line-411">      }</span>
+<span class="source-line-no">412</span><span id="line-412"></span>
+<span class="source-line-no">413</span><span id="line-413">      LOG.warn("Log 
file {} not found, trying to find it in archive directory.", dir);</span>
+<span class="source-line-no">414</span><span id="line-414">      Path 
archiveFile = AbstractFSWALProvider.findArchivedLog(dir, conf);</span>
+<span class="source-line-no">415</span><span id="line-415">      if 
(archiveFile == null) {</span>
+<span class="source-line-no">416</span><span id="line-416">        
LOG.error("Did not find archive file for {}", dir);</span>
+<span class="source-line-no">417</span><span id="line-417">        throw 
e;</span>
+<span class="source-line-no">418</span><span id="line-418">      }</span>
+<span class="source-line-no">419</span><span id="line-419"></span>
+<span class="source-line-no">420</span><span id="line-420">      return 
fs.listLocatedStatus(archiveFile);</span>
+<span class="source-line-no">421</span><span id="line-421">    }</span>
+<span class="source-line-no">422</span><span id="line-422">  }</span>
+<span class="source-line-no">423</span><span id="line-423">}</span>
 
 
 
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
index e9b3447a0ae..de104114a40 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
@@ -331,7 +331,7 @@
 <span class="source-line-no">318</span><span id="line-318">    for (Path 
inputPath : inputPaths) {</span>
 <span class="source-line-no">319</span><span id="line-319">      FileSystem fs 
= inputPath.getFileSystem(conf);</span>
 <span class="source-line-no">320</span><span id="line-320">      try {</span>
-<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, 
endTime);</span>
+<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime, 
conf);</span>
 <span class="source-line-no">322</span><span id="line-322">        
allFiles.addAll(files);</span>
 <span class="source-line-no">323</span><span id="line-323">      } catch 
(FileNotFoundException e) {</span>
 <span class="source-line-no">324</span><span id="line-324">        if 
(ignoreMissing) {</span>
@@ -362,11 +362,11 @@
 <span class="source-line-no">349</span><span id="line-349">   *                
  equal to this value else we will filter out the file. If name does not seem 
to</span>
 <span class="source-line-no">350</span><span id="line-350">   *                
  have a timestamp, we will just return it w/o filtering.</span>
 <span class="source-line-no">351</span><span id="line-351">   */</span>
-<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime)</span>
-<span class="source-line-no">353</span><span id="line-353">    throws 
IOException {</span>
+<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime,</span>
+<span class="source-line-no">353</span><span id="line-353">    Configuration 
conf) throws IOException {</span>
 <span class="source-line-no">354</span><span id="line-354">    
List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();</span>
 <span class="source-line-no">355</span><span id="line-355">    
LOG.debug("Scanning " + dir.toString() + " for WAL files");</span>
-<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = listLocatedFileStatus(fs, dir, 
conf);</span>
 <span class="source-line-no">357</span><span id="line-357">    if 
(!iter.hasNext()) {</span>
 <span class="source-line-no">358</span><span id="line-358">      return 
Collections.emptyList();</span>
 <span class="source-line-no">359</span><span id="line-359">    }</span>
@@ -374,7 +374,7 @@
 <span class="source-line-no">361</span><span id="line-361">      
LocatedFileStatus file = iter.next();</span>
 <span class="source-line-no">362</span><span id="line-362">      if 
(file.isDirectory()) {</span>
 <span class="source-line-no">363</span><span id="line-363">        // Recurse 
into sub directories</span>
-<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime));</span>
+<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime, conf));</span>
 <span class="source-line-no">365</span><span id="line-365">      } else 
{</span>
 <span class="source-line-no">366</span><span id="line-366">        
addFile(result, file, startTime, endTime);</span>
 <span class="source-line-no">367</span><span id="line-367">      }</span>
@@ -409,7 +409,31 @@
 <span class="source-line-no">396</span><span id="line-396">    
TaskAttemptContext context) throws IOException, InterruptedException {</span>
 <span class="source-line-no">397</span><span id="line-397">    return new 
WALKeyRecordReader();</span>
 <span class="source-line-no">398</span><span id="line-398">  }</span>
-<span class="source-line-no">399</span><span id="line-399">}</span>
+<span class="source-line-no">399</span><span id="line-399"></span>
+<span class="source-line-no">400</span><span id="line-400">  /**</span>
+<span class="source-line-no">401</span><span id="line-401">   * Attempts to 
return the {@link LocatedFileStatus} for the given directory. If the directory 
does</span>
+<span class="source-line-no">402</span><span id="line-402">   * not exist, it 
will check if the directory is an archived log file and try to find it</span>
+<span class="source-line-no">403</span><span id="line-403">   */</span>
+<span class="source-line-no">404</span><span id="line-404">  private static 
RemoteIterator&lt;LocatedFileStatus&gt; listLocatedFileStatus(FileSystem fs, 
Path dir,</span>
+<span class="source-line-no">405</span><span id="line-405">    Configuration 
conf) throws IOException {</span>
+<span class="source-line-no">406</span><span id="line-406">    try {</span>
+<span class="source-line-no">407</span><span id="line-407">      return 
fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">408</span><span id="line-408">    } catch 
(FileNotFoundException e) {</span>
+<span class="source-line-no">409</span><span id="line-409">      if 
(AbstractFSWALProvider.isArchivedLogFile(dir)) {</span>
+<span class="source-line-no">410</span><span id="line-410">        throw 
e;</span>
+<span class="source-line-no">411</span><span id="line-411">      }</span>
+<span class="source-line-no">412</span><span id="line-412"></span>
+<span class="source-line-no">413</span><span id="line-413">      LOG.warn("Log 
file {} not found, trying to find it in archive directory.", dir);</span>
+<span class="source-line-no">414</span><span id="line-414">      Path 
archiveFile = AbstractFSWALProvider.findArchivedLog(dir, conf);</span>
+<span class="source-line-no">415</span><span id="line-415">      if 
(archiveFile == null) {</span>
+<span class="source-line-no">416</span><span id="line-416">        
LOG.error("Did not find archive file for {}", dir);</span>
+<span class="source-line-no">417</span><span id="line-417">        throw 
e;</span>
+<span class="source-line-no">418</span><span id="line-418">      }</span>
+<span class="source-line-no">419</span><span id="line-419"></span>
+<span class="source-line-no">420</span><span id="line-420">      return 
fs.listLocatedStatus(archiveFile);</span>
+<span class="source-line-no">421</span><span id="line-421">    }</span>
+<span class="source-line-no">422</span><span id="line-422">  }</span>
+<span class="source-line-no">423</span><span id="line-423">}</span>
 
 
 
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
index f4fd70e8f79..0df0733523e 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
@@ -331,7 +331,7 @@
 <span class="source-line-no">318</span><span id="line-318">    for (Path 
inputPath : inputPaths) {</span>
 <span class="source-line-no">319</span><span id="line-319">      FileSystem fs 
= inputPath.getFileSystem(conf);</span>
 <span class="source-line-no">320</span><span id="line-320">      try {</span>
-<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, 
endTime);</span>
+<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime, 
conf);</span>
 <span class="source-line-no">322</span><span id="line-322">        
allFiles.addAll(files);</span>
 <span class="source-line-no">323</span><span id="line-323">      } catch 
(FileNotFoundException e) {</span>
 <span class="source-line-no">324</span><span id="line-324">        if 
(ignoreMissing) {</span>
@@ -362,11 +362,11 @@
 <span class="source-line-no">349</span><span id="line-349">   *                
  equal to this value else we will filter out the file. If name does not seem 
to</span>
 <span class="source-line-no">350</span><span id="line-350">   *                
  have a timestamp, we will just return it w/o filtering.</span>
 <span class="source-line-no">351</span><span id="line-351">   */</span>
-<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime)</span>
-<span class="source-line-no">353</span><span id="line-353">    throws 
IOException {</span>
+<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime,</span>
+<span class="source-line-no">353</span><span id="line-353">    Configuration 
conf) throws IOException {</span>
 <span class="source-line-no">354</span><span id="line-354">    
List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();</span>
 <span class="source-line-no">355</span><span id="line-355">    
LOG.debug("Scanning " + dir.toString() + " for WAL files");</span>
-<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = listLocatedFileStatus(fs, dir, 
conf);</span>
 <span class="source-line-no">357</span><span id="line-357">    if 
(!iter.hasNext()) {</span>
 <span class="source-line-no">358</span><span id="line-358">      return 
Collections.emptyList();</span>
 <span class="source-line-no">359</span><span id="line-359">    }</span>
@@ -374,7 +374,7 @@
 <span class="source-line-no">361</span><span id="line-361">      
LocatedFileStatus file = iter.next();</span>
 <span class="source-line-no">362</span><span id="line-362">      if 
(file.isDirectory()) {</span>
 <span class="source-line-no">363</span><span id="line-363">        // Recurse 
into sub directories</span>
-<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime));</span>
+<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime, conf));</span>
 <span class="source-line-no">365</span><span id="line-365">      } else 
{</span>
 <span class="source-line-no">366</span><span id="line-366">        
addFile(result, file, startTime, endTime);</span>
 <span class="source-line-no">367</span><span id="line-367">      }</span>
@@ -409,7 +409,31 @@
 <span class="source-line-no">396</span><span id="line-396">    
TaskAttemptContext context) throws IOException, InterruptedException {</span>
 <span class="source-line-no">397</span><span id="line-397">    return new 
WALKeyRecordReader();</span>
 <span class="source-line-no">398</span><span id="line-398">  }</span>
-<span class="source-line-no">399</span><span id="line-399">}</span>
+<span class="source-line-no">399</span><span id="line-399"></span>
+<span class="source-line-no">400</span><span id="line-400">  /**</span>
+<span class="source-line-no">401</span><span id="line-401">   * Attempts to 
return the {@link LocatedFileStatus} for the given directory. If the directory 
does</span>
+<span class="source-line-no">402</span><span id="line-402">   * not exist, it 
will check if the directory is an archived log file and try to find it</span>
+<span class="source-line-no">403</span><span id="line-403">   */</span>
+<span class="source-line-no">404</span><span id="line-404">  private static 
RemoteIterator&lt;LocatedFileStatus&gt; listLocatedFileStatus(FileSystem fs, 
Path dir,</span>
+<span class="source-line-no">405</span><span id="line-405">    Configuration 
conf) throws IOException {</span>
+<span class="source-line-no">406</span><span id="line-406">    try {</span>
+<span class="source-line-no">407</span><span id="line-407">      return 
fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">408</span><span id="line-408">    } catch 
(FileNotFoundException e) {</span>
+<span class="source-line-no">409</span><span id="line-409">      if 
(AbstractFSWALProvider.isArchivedLogFile(dir)) {</span>
+<span class="source-line-no">410</span><span id="line-410">        throw 
e;</span>
+<span class="source-line-no">411</span><span id="line-411">      }</span>
+<span class="source-line-no">412</span><span id="line-412"></span>
+<span class="source-line-no">413</span><span id="line-413">      LOG.warn("Log 
file {} not found, trying to find it in archive directory.", dir);</span>
+<span class="source-line-no">414</span><span id="line-414">      Path 
archiveFile = AbstractFSWALProvider.findArchivedLog(dir, conf);</span>
+<span class="source-line-no">415</span><span id="line-415">      if 
(archiveFile == null) {</span>
+<span class="source-line-no">416</span><span id="line-416">        
LOG.error("Did not find archive file for {}", dir);</span>
+<span class="source-line-no">417</span><span id="line-417">        throw 
e;</span>
+<span class="source-line-no">418</span><span id="line-418">      }</span>
+<span class="source-line-no">419</span><span id="line-419"></span>
+<span class="source-line-no">420</span><span id="line-420">      return 
fs.listLocatedStatus(archiveFile);</span>
+<span class="source-line-no">421</span><span id="line-421">    }</span>
+<span class="source-line-no">422</span><span id="line-422">  }</span>
+<span class="source-line-no">423</span><span id="line-423">}</span>
 
 
 
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index 4854c379e07..f88b8fbfcb2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -331,7 +331,7 @@
 <span class="source-line-no">318</span><span id="line-318">    for (Path 
inputPath : inputPaths) {</span>
 <span class="source-line-no">319</span><span id="line-319">      FileSystem fs 
= inputPath.getFileSystem(conf);</span>
 <span class="source-line-no">320</span><span id="line-320">      try {</span>
-<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, 
endTime);</span>
+<span class="source-line-no">321</span><span id="line-321">        
List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime, 
conf);</span>
 <span class="source-line-no">322</span><span id="line-322">        
allFiles.addAll(files);</span>
 <span class="source-line-no">323</span><span id="line-323">      } catch 
(FileNotFoundException e) {</span>
 <span class="source-line-no">324</span><span id="line-324">        if 
(ignoreMissing) {</span>
@@ -362,11 +362,11 @@
 <span class="source-line-no">349</span><span id="line-349">   *                
  equal to this value else we will filter out the file. If name does not seem 
to</span>
 <span class="source-line-no">350</span><span id="line-350">   *                
  have a timestamp, we will just return it w/o filtering.</span>
 <span class="source-line-no">351</span><span id="line-351">   */</span>
-<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime)</span>
-<span class="source-line-no">353</span><span id="line-353">    throws 
IOException {</span>
+<span class="source-line-no">352</span><span id="line-352">  private 
List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long 
endTime,</span>
+<span class="source-line-no">353</span><span id="line-353">    Configuration 
conf) throws IOException {</span>
 <span class="source-line-no">354</span><span id="line-354">    
List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();</span>
 <span class="source-line-no">355</span><span id="line-355">    
LOG.debug("Scanning " + dir.toString() + " for WAL files");</span>
-<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">356</span><span id="line-356">    
RemoteIterator&lt;LocatedFileStatus&gt; iter = listLocatedFileStatus(fs, dir, 
conf);</span>
 <span class="source-line-no">357</span><span id="line-357">    if 
(!iter.hasNext()) {</span>
 <span class="source-line-no">358</span><span id="line-358">      return 
Collections.emptyList();</span>
 <span class="source-line-no">359</span><span id="line-359">    }</span>
@@ -374,7 +374,7 @@
 <span class="source-line-no">361</span><span id="line-361">      
LocatedFileStatus file = iter.next();</span>
 <span class="source-line-no">362</span><span id="line-362">      if 
(file.isDirectory()) {</span>
 <span class="source-line-no">363</span><span id="line-363">        // Recurse 
into sub directories</span>
-<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime));</span>
+<span class="source-line-no">364</span><span id="line-364">        
result.addAll(getFiles(fs, file.getPath(), startTime, endTime, conf));</span>
 <span class="source-line-no">365</span><span id="line-365">      } else 
{</span>
 <span class="source-line-no">366</span><span id="line-366">        
addFile(result, file, startTime, endTime);</span>
 <span class="source-line-no">367</span><span id="line-367">      }</span>
@@ -409,7 +409,31 @@
 <span class="source-line-no">396</span><span id="line-396">    
TaskAttemptContext context) throws IOException, InterruptedException {</span>
 <span class="source-line-no">397</span><span id="line-397">    return new 
WALKeyRecordReader();</span>
 <span class="source-line-no">398</span><span id="line-398">  }</span>
-<span class="source-line-no">399</span><span id="line-399">}</span>
+<span class="source-line-no">399</span><span id="line-399"></span>
+<span class="source-line-no">400</span><span id="line-400">  /**</span>
+<span class="source-line-no">401</span><span id="line-401">   * Attempts to 
return the {@link LocatedFileStatus} for the given directory. If the directory 
does</span>
+<span class="source-line-no">402</span><span id="line-402">   * not exist, it 
will check if the directory is an archived log file and try to find it</span>
+<span class="source-line-no">403</span><span id="line-403">   */</span>
+<span class="source-line-no">404</span><span id="line-404">  private static 
RemoteIterator&lt;LocatedFileStatus&gt; listLocatedFileStatus(FileSystem fs, 
Path dir,</span>
+<span class="source-line-no">405</span><span id="line-405">    Configuration 
conf) throws IOException {</span>
+<span class="source-line-no">406</span><span id="line-406">    try {</span>
+<span class="source-line-no">407</span><span id="line-407">      return 
fs.listLocatedStatus(dir);</span>
+<span class="source-line-no">408</span><span id="line-408">    } catch 
(FileNotFoundException e) {</span>
+<span class="source-line-no">409</span><span id="line-409">      if 
(AbstractFSWALProvider.isArchivedLogFile(dir)) {</span>
+<span class="source-line-no">410</span><span id="line-410">        throw 
e;</span>
+<span class="source-line-no">411</span><span id="line-411">      }</span>
+<span class="source-line-no">412</span><span id="line-412"></span>
+<span class="source-line-no">413</span><span id="line-413">      LOG.warn("Log 
file {} not found, trying to find it in archive directory.", dir);</span>
+<span class="source-line-no">414</span><span id="line-414">      Path 
archiveFile = AbstractFSWALProvider.findArchivedLog(dir, conf);</span>
+<span class="source-line-no">415</span><span id="line-415">      if 
(archiveFile == null) {</span>
+<span class="source-line-no">416</span><span id="line-416">        
LOG.error("Did not find archive file for {}", dir);</span>
+<span class="source-line-no">417</span><span id="line-417">        throw 
e;</span>
+<span class="source-line-no">418</span><span id="line-418">      }</span>
+<span class="source-line-no">419</span><span id="line-419"></span>
+<span class="source-line-no">420</span><span id="line-420">      return 
fs.listLocatedStatus(archiveFile);</span>
+<span class="source-line-no">421</span><span id="line-421">    }</span>
+<span class="source-line-no">422</span><span id="line-422">  }</span>
+<span class="source-line-no">423</span><span id="line-423">}</span>
 
 
 
diff --git a/downloads.html b/downloads.html
index 543a428a155..49b8087cb55 100644
--- a/downloads.html
+++ b/downloads.html
@@ -422,7 +422,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/export_control.html b/export_control.html
index 0a5e154a874..229b53dfa8e 100644
--- a/export_control.html
+++ b/export_control.html
@@ -210,7 +210,7 @@ for more details.</p>
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/index.html b/index.html
index 08124e9688c..060989a3ac5 100644
--- a/index.html
+++ b/index.html
@@ -283,7 +283,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/issue-management.html b/issue-management.html
index c09c27e9b91..033a5fb1d28 100644
--- a/issue-management.html
+++ b/issue-management.html
@@ -181,7 +181,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/licenses.html b/licenses.html
index 6b629c06510..4cd4f0000cb 100644
--- a/licenses.html
+++ b/licenses.html
@@ -383,7 +383,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/mailing-lists.html b/mailing-lists.html
index 748101c317d..489d55f69b1 100644
--- a/mailing-lists.html
+++ b/mailing-lists.html
@@ -228,7 +228,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/metrics.html b/metrics.html
index cb285835050..bd1b4950102 100644
--- a/metrics.html
+++ b/metrics.html
@@ -332,7 +332,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS 
-Dcom.sun.management.jmxrem
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/old_news.html b/old_news.html
index c3578e265af..0de878b75ab 100644
--- a/old_news.html
+++ b/old_news.html
@@ -329,7 +329,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/plugin-management.html b/plugin-management.html
index 4ee6fa4f10c..a418eb7acc2 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -338,7 +338,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/plugins.html b/plugins.html
index da717f8eef0..08c958c6fe9 100644
--- a/plugins.html
+++ b/plugins.html
@@ -276,7 +276,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index c5243bf6281..81544436c6d 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -671,7 +671,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/project-info.html b/project-info.html
index 964b54c35ce..d5064c6e493 100644
--- a/project-info.html
+++ b/project-info.html
@@ -225,7 +225,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/project-reports.html b/project-reports.html
index 8b1d4c30732..1866b10b31d 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -198,7 +198,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 1d7c512397d..4c30ba7f7e3 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -187,7 +187,7 @@ Running Apache HBase (TM) in pseudo-distributed mode
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/replication.html b/replication.html
index e5fda8da557..71187aa8a82 100644
--- a/replication.html
+++ b/replication.html
@@ -182,7 +182,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/resources.html b/resources.html
index 877f5c4d312..0c6ffd9817e 100644
--- a/resources.html
+++ b/resources.html
@@ -205,7 +205,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/scm.html b/scm.html
index 97f0ca9cafe..9edb0c26a0f 100644
--- a/scm.html
+++ b/scm.html
@@ -189,7 +189,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/sponsors.html b/sponsors.html
index 53424ef6125..8f8b0c46497 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -211,7 +211,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/summary.html b/summary.html
index 483886ed13f..4058316c703 100644
--- a/summary.html
+++ b/summary.html
@@ -222,7 +222,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/supportingprojects.html b/supportingprojects.html
index 5e68ec0659b..f153bc4ab86 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -401,7 +401,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/team.html b/team.html
index 078d0a8b0a0..ab3e7d3adb7 100644
--- a/team.html
+++ b/team.html
@@ -856,7 +856,7 @@
         All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
       </div>
       <div style="float: right">
-        Last Published: 2025-07-16
+        Last Published: 2025-07-17
       </div>
         </div>
         <p id="poweredBy" class="pull-right"><a 
href="http://maven.apache.org/"; title="Built by Maven" class="poweredBy"><img 
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" 
/></a>
diff --git a/testapidocs/index-all.html b/testapidocs/index-all.html
index 375b9a6a953..02820f0ee08 100644
--- a/testapidocs/index-all.html
+++ b/testapidocs/index-all.html
@@ -20544,6 +20544,8 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a 
href="../apidocs/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.html#setupClass()"
 class="member-name-link external-link" title="class or interface in 
org.apache.hadoop.hbase.ipc">setupClass()</a> - Static method in class 
org.apache.hadoop.hbase.ipc.<a 
href="../apidocs/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.html" 
title="class or interface in org.apache.hadoop.hbase.ipc" 
class="external-link">TestSimpleRpcServer</a></dt>
 <dd>&nbsp;</dd>
+<dt><a 
href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#setupClass()"
 class="member-name-link external-link" title="class or interface in 
org.apache.hadoop.hbase.mapreduce">setupClass()</a> - Static method in class 
org.apache.hadoop.hbase.mapreduce.<a 
href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html" 
title="class or interface in org.apache.hadoop.hbase.mapreduce" 
class="external-link">TestWALInputFormat</a></dt>
+<dd>&nbsp;</dd>
 <dt><a 
href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMergesSplitsAddToTracker.html#setupClass()"
 class="member-name-link external-link" title="class or interface in 
org.apache.hadoop.hbase.regionserver">setupClass()</a> - Static method in class 
org.apache.hadoop.hbase.regionserver.<a 
href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMergesSplitsAddToTracker.html"
 title="class or interface in org.apache.hadoop.hbase.regionserver" 
class="external-link">TestMergesSplitsA [...]
 <dd>&nbsp;</dd>
 <dt><a 
href="../apidocs/org/apache/hadoop/hbase/TestCustomPriorityRpcControllerFactory.html#setUpClass()"
 class="member-name-link external-link" title="class or interface in 
org.apache.hadoop.hbase">setUpClass()</a> - Static method in class 
org.apache.hadoop.hbase.<a 
href="../apidocs/org/apache/hadoop/hbase/TestCustomPriorityRpcControllerFactory.html"
 title="class or interface in org.apache.hadoop.hbase" 
class="external-link">TestCustomPriorityRpcControllerFactory</a></dt>
@@ -31741,6 +31743,8 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a 
href="../apidocs/org/apache/hadoop/hbase/quotas/TestThreadHandlerUsageQuota.html#testHandlerUsageThrottleForWrites()"
 class="member-name-link external-link" title="class or interface in 
org.apache.hadoop.hbase.quotas">testHandlerUsageThrottleForWrites()</a> - 
Method in class org.apache.hadoop.hbase.quotas.<a 
href="../apidocs/org/apache/hadoop/hbase/quotas/TestThreadHandlerUsageQuota.html"
 title="class or interface in org.apache.hadoop.hbase.quotas" 
class="external-link">TestThread [...]
 <dd>&nbsp;</dd>
+<dt><a 
href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#testHandlesArchivedWALFiles()"
 class="member-name-link external-link" title="class or interface in 
org.apache.hadoop.hbase.mapreduce">testHandlesArchivedWALFiles()</a> - Method 
in class org.apache.hadoop.hbase.mapreduce.<a 
href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html" 
title="class or interface in org.apache.hadoop.hbase.mapreduce" 
class="external-link">TestWALInputFormat</a></dt>
+<dd>&nbsp;</dd>
 <dt><a 
href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.html#testHandshakeCompleteHandler()"
 class="member-name-link external-link" title="class or interface in 
org.apache.hadoop.hbase.ipc">testHandshakeCompleteHandler()</a> - Method in 
class org.apache.hadoop.hbase.ipc.<a 
href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.html" 
title="class or interface in org.apache.hadoop.hbase.ipc" 
class="external-link">TestNettyRpcServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><a 
href="../apidocs/org/apache/hadoop/hbase/client/TestPutDotHas.html#testHas()" 
class="member-name-link external-link" title="class or interface in 
org.apache.hadoop.hbase.client">testHas()</a> - Method in class 
org.apache.hadoop.hbase.client.<a 
href="../apidocs/org/apache/hadoop/hbase/client/TestPutDotHas.html" 
title="class or interface in org.apache.hadoop.hbase.client" 
class="external-link">TestPutDotHas</a></dt>
diff --git a/testapidocs/member-search-index.js 
b/testapidocs/member-search-index.js
index 2d71d85bfa4..b4e76aa27ee 100644
--- a/testapidocs/member-search-index.js
+++ b/testapidocs/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = 
[{"p":"org.apache.hadoop.hbase.backup","c":"TestSystemTableSnapshot","l":"_testBackupRestoreSystemTable()"},{"p":"org.apache.hadoop.hbase.coprocessor","c":"TestRegionObserverInterface","l":"A"},{"p":"org.apache.hadoop.hbase.client","c":"TestGetProcedureResult.DummyProcedure","l":"abort(MasterProcedureEnv)","u":"abort(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)"},{"p":"org.apache.hadoop.hbase.master","c":"TestMigrateNamespaceTable.SuspendProcedure","l"
 [...]
\ No newline at end of file
+memberSearchIndex = 
[{"p":"org.apache.hadoop.hbase.backup","c":"TestSystemTableSnapshot","l":"_testBackupRestoreSystemTable()"},{"p":"org.apache.hadoop.hbase.coprocessor","c":"TestRegionObserverInterface","l":"A"},{"p":"org.apache.hadoop.hbase.client","c":"TestGetProcedureResult.DummyProcedure","l":"abort(MasterProcedureEnv)","u":"abort(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)"},{"p":"org.apache.hadoop.hbase.master","c":"TestMigrateNamespaceTable.SuspendProcedure","l"
 [...]
\ No newline at end of file
diff --git 
a/testapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
 
b/testapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
index e8a910cd38c..240a531c085 100644
--- 
a/testapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
+++ 
b/testapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
@@ -34,60 +34,111 @@
 <span class="source-line-no">021</span><span id="line-21"></span>
 <span class="source-line-no">022</span><span id="line-22">import 
java.util.ArrayList;</span>
 <span class="source-line-no">023</span><span id="line-23">import 
java.util.List;</span>
-<span class="source-line-no">024</span><span id="line-24">import 
org.apache.hadoop.fs.FileStatus;</span>
-<span class="source-line-no">025</span><span id="line-25">import 
org.apache.hadoop.fs.LocatedFileStatus;</span>
-<span class="source-line-no">026</span><span id="line-26">import 
org.apache.hadoop.fs.Path;</span>
-<span class="source-line-no">027</span><span id="line-27">import 
org.apache.hadoop.hbase.HBaseClassTestRule;</span>
-<span class="source-line-no">028</span><span id="line-28">import 
org.apache.hadoop.hbase.testclassification.MapReduceTests;</span>
-<span class="source-line-no">029</span><span id="line-29">import 
org.apache.hadoop.hbase.testclassification.SmallTests;</span>
-<span class="source-line-no">030</span><span id="line-30">import 
org.apache.hadoop.hbase.util.EnvironmentEdgeManager;</span>
-<span class="source-line-no">031</span><span id="line-31">import 
org.junit.ClassRule;</span>
-<span class="source-line-no">032</span><span id="line-32">import 
org.junit.Test;</span>
-<span class="source-line-no">033</span><span id="line-33">import 
org.junit.experimental.categories.Category;</span>
-<span class="source-line-no">034</span><span id="line-34">import 
org.mockito.Mockito;</span>
-<span class="source-line-no">035</span><span id="line-35"></span>
-<span class="source-line-no">036</span><span id="line-36">@Category({ 
MapReduceTests.class, SmallTests.class })</span>
-<span class="source-line-no">037</span><span id="line-37">public class 
TestWALInputFormat {</span>
-<span class="source-line-no">038</span><span id="line-38">  @ClassRule</span>
-<span class="source-line-no">039</span><span id="line-39">  public static 
final HBaseClassTestRule CLASS_RULE =</span>
-<span class="source-line-no">040</span><span id="line-40">    
HBaseClassTestRule.forClass(TestWALInputFormat.class);</span>
-<span class="source-line-no">041</span><span id="line-41"></span>
-<span class="source-line-no">042</span><span id="line-42">  /**</span>
-<span class="source-line-no">043</span><span id="line-43">   * Test the 
primitive start/end time filtering.</span>
-<span class="source-line-no">044</span><span id="line-44">   */</span>
-<span class="source-line-no">045</span><span id="line-45">  @Test</span>
-<span class="source-line-no">046</span><span id="line-46">  public void 
testAddFile() {</span>
-<span class="source-line-no">047</span><span id="line-47">    
List&lt;FileStatus&gt; lfss = new ArrayList&lt;&gt;();</span>
-<span class="source-line-no">048</span><span id="line-48">    
LocatedFileStatus lfs = Mockito.mock(LocatedFileStatus.class);</span>
-<span class="source-line-no">049</span><span id="line-49">    long now = 
EnvironmentEdgeManager.currentTime();</span>
-<span class="source-line-no">050</span><span id="line-50">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name." + now));</span>
-<span class="source-line-no">051</span><span id="line-51">    
WALInputFormat.addFile(lfss, lfs, now, now);</span>
-<span class="source-line-no">052</span><span id="line-52">    assertEquals(1, 
lfss.size());</span>
-<span class="source-line-no">053</span><span id="line-53">    
WALInputFormat.addFile(lfss, lfs, now - 1, now - 1);</span>
-<span class="source-line-no">054</span><span id="line-54">    assertEquals(1, 
lfss.size());</span>
-<span class="source-line-no">055</span><span id="line-55">    
WALInputFormat.addFile(lfss, lfs, now - 2, now - 1);</span>
-<span class="source-line-no">056</span><span id="line-56">    assertEquals(1, 
lfss.size());</span>
-<span class="source-line-no">057</span><span id="line-57">    
WALInputFormat.addFile(lfss, lfs, now - 2, now);</span>
-<span class="source-line-no">058</span><span id="line-58">    assertEquals(2, 
lfss.size());</span>
-<span class="source-line-no">059</span><span id="line-59">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, now);</span>
-<span class="source-line-no">060</span><span id="line-60">    assertEquals(3, 
lfss.size());</span>
-<span class="source-line-no">061</span><span id="line-61">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
-<span class="source-line-no">062</span><span id="line-62">    assertEquals(4, 
lfss.size());</span>
-<span class="source-line-no">063</span><span id="line-63">    
WALInputFormat.addFile(lfss, lfs, now, now + 2);</span>
-<span class="source-line-no">064</span><span id="line-64">    assertEquals(5, 
lfss.size());</span>
-<span class="source-line-no">065</span><span id="line-65">    
WALInputFormat.addFile(lfss, lfs, now + 1, now + 2);</span>
-<span class="source-line-no">066</span><span id="line-66">    assertEquals(5, 
lfss.size());</span>
-<span class="source-line-no">067</span><span id="line-67">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name"));</span>
-<span class="source-line-no">068</span><span id="line-68">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
-<span class="source-line-no">069</span><span id="line-69">    assertEquals(6, 
lfss.size());</span>
-<span class="source-line-no">070</span><span id="line-70">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name.123"));</span>
-<span class="source-line-no">071</span><span id="line-71">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
-<span class="source-line-no">072</span><span id="line-72">    assertEquals(7, 
lfss.size());</span>
-<span class="source-line-no">073</span><span id="line-73">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name." + now + 
".meta"));</span>
-<span class="source-line-no">074</span><span id="line-74">    
WALInputFormat.addFile(lfss, lfs, now, now);</span>
-<span class="source-line-no">075</span><span id="line-75">    assertEquals(8, 
lfss.size());</span>
-<span class="source-line-no">076</span><span id="line-76">  }</span>
-<span class="source-line-no">077</span><span id="line-77">}</span>
+<span class="source-line-no">024</span><span id="line-24">import 
org.apache.hadoop.conf.Configuration;</span>
+<span class="source-line-no">025</span><span id="line-25">import 
org.apache.hadoop.fs.FileStatus;</span>
+<span class="source-line-no">026</span><span id="line-26">import 
org.apache.hadoop.fs.LocatedFileStatus;</span>
+<span class="source-line-no">027</span><span id="line-27">import 
org.apache.hadoop.fs.Path;</span>
+<span class="source-line-no">028</span><span id="line-28">import 
org.apache.hadoop.hbase.HBaseClassTestRule;</span>
+<span class="source-line-no">029</span><span id="line-29">import 
org.apache.hadoop.hbase.HBaseTestingUtil;</span>
+<span class="source-line-no">030</span><span id="line-30">import 
org.apache.hadoop.hbase.HConstants;</span>
+<span class="source-line-no">031</span><span id="line-31">import 
org.apache.hadoop.hbase.regionserver.HRegionServer;</span>
+<span class="source-line-no">032</span><span id="line-32">import 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL;</span>
+<span class="source-line-no">033</span><span id="line-33">import 
org.apache.hadoop.hbase.testclassification.MapReduceTests;</span>
+<span class="source-line-no">034</span><span id="line-34">import 
org.apache.hadoop.hbase.testclassification.MediumTests;</span>
+<span class="source-line-no">035</span><span id="line-35">import 
org.apache.hadoop.hbase.util.CommonFSUtils;</span>
+<span class="source-line-no">036</span><span id="line-36">import 
org.apache.hadoop.hbase.util.EnvironmentEdgeManager;</span>
+<span class="source-line-no">037</span><span id="line-37">import 
org.apache.hadoop.mapreduce.InputSplit;</span>
+<span class="source-line-no">038</span><span id="line-38">import 
org.apache.hadoop.mapreduce.Job;</span>
+<span class="source-line-no">039</span><span id="line-39">import 
org.apache.hadoop.mapreduce.JobContext;</span>
+<span class="source-line-no">040</span><span id="line-40">import 
org.apache.hadoop.mapreduce.lib.input.FileInputFormat;</span>
+<span class="source-line-no">041</span><span id="line-41">import 
org.junit.BeforeClass;</span>
+<span class="source-line-no">042</span><span id="line-42">import 
org.junit.ClassRule;</span>
+<span class="source-line-no">043</span><span id="line-43">import 
org.junit.Test;</span>
+<span class="source-line-no">044</span><span id="line-44">import 
org.junit.experimental.categories.Category;</span>
+<span class="source-line-no">045</span><span id="line-45">import 
org.mockito.Mockito;</span>
+<span class="source-line-no">046</span><span id="line-46"></span>
+<span class="source-line-no">047</span><span id="line-47">@Category({ 
MapReduceTests.class, MediumTests.class })</span>
+<span class="source-line-no">048</span><span id="line-48">public class 
TestWALInputFormat {</span>
+<span class="source-line-no">049</span><span id="line-49">  private static 
final HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();</span>
+<span class="source-line-no">050</span><span id="line-50"></span>
+<span class="source-line-no">051</span><span id="line-51">  @ClassRule</span>
+<span class="source-line-no">052</span><span id="line-52">  public static 
final HBaseClassTestRule CLASS_RULE =</span>
+<span class="source-line-no">053</span><span id="line-53">    
HBaseClassTestRule.forClass(TestWALInputFormat.class);</span>
+<span class="source-line-no">054</span><span id="line-54"></span>
+<span class="source-line-no">055</span><span id="line-55">  @BeforeClass</span>
+<span class="source-line-no">056</span><span id="line-56">  public static void 
setupClass() throws Exception {</span>
+<span class="source-line-no">057</span><span id="line-57">    
TEST_UTIL.startMiniCluster();</span>
+<span class="source-line-no">058</span><span id="line-58">    
TEST_UTIL.createWALRootDir();</span>
+<span class="source-line-no">059</span><span id="line-59">  }</span>
+<span class="source-line-no">060</span><span id="line-60"></span>
+<span class="source-line-no">061</span><span id="line-61">  /**</span>
+<span class="source-line-no">062</span><span id="line-62">   * Test the 
primitive start/end time filtering.</span>
+<span class="source-line-no">063</span><span id="line-63">   */</span>
+<span class="source-line-no">064</span><span id="line-64">  @Test</span>
+<span class="source-line-no">065</span><span id="line-65">  public void 
testAddFile() {</span>
+<span class="source-line-no">066</span><span id="line-66">    
List&lt;FileStatus&gt; lfss = new ArrayList&lt;&gt;();</span>
+<span class="source-line-no">067</span><span id="line-67">    
LocatedFileStatus lfs = Mockito.mock(LocatedFileStatus.class);</span>
+<span class="source-line-no">068</span><span id="line-68">    long now = 
EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">069</span><span id="line-69">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name." + now));</span>
+<span class="source-line-no">070</span><span id="line-70">    
WALInputFormat.addFile(lfss, lfs, now, now);</span>
+<span class="source-line-no">071</span><span id="line-71">    assertEquals(1, 
lfss.size());</span>
+<span class="source-line-no">072</span><span id="line-72">    
WALInputFormat.addFile(lfss, lfs, now - 1, now - 1);</span>
+<span class="source-line-no">073</span><span id="line-73">    assertEquals(1, 
lfss.size());</span>
+<span class="source-line-no">074</span><span id="line-74">    
WALInputFormat.addFile(lfss, lfs, now - 2, now - 1);</span>
+<span class="source-line-no">075</span><span id="line-75">    assertEquals(1, 
lfss.size());</span>
+<span class="source-line-no">076</span><span id="line-76">    
WALInputFormat.addFile(lfss, lfs, now - 2, now);</span>
+<span class="source-line-no">077</span><span id="line-77">    assertEquals(2, 
lfss.size());</span>
+<span class="source-line-no">078</span><span id="line-78">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, now);</span>
+<span class="source-line-no">079</span><span id="line-79">    assertEquals(3, 
lfss.size());</span>
+<span class="source-line-no">080</span><span id="line-80">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
+<span class="source-line-no">081</span><span id="line-81">    assertEquals(4, 
lfss.size());</span>
+<span class="source-line-no">082</span><span id="line-82">    
WALInputFormat.addFile(lfss, lfs, now, now + 2);</span>
+<span class="source-line-no">083</span><span id="line-83">    assertEquals(5, 
lfss.size());</span>
+<span class="source-line-no">084</span><span id="line-84">    
WALInputFormat.addFile(lfss, lfs, now + 1, now + 2);</span>
+<span class="source-line-no">085</span><span id="line-85">    assertEquals(5, 
lfss.size());</span>
+<span class="source-line-no">086</span><span id="line-86">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name"));</span>
+<span class="source-line-no">087</span><span id="line-87">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
+<span class="source-line-no">088</span><span id="line-88">    assertEquals(6, 
lfss.size());</span>
+<span class="source-line-no">089</span><span id="line-89">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name.123"));</span>
+<span class="source-line-no">090</span><span id="line-90">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
+<span class="source-line-no">091</span><span id="line-91">    assertEquals(7, 
lfss.size());</span>
+<span class="source-line-no">092</span><span id="line-92">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name." + now + 
".meta"));</span>
+<span class="source-line-no">093</span><span id="line-93">    
WALInputFormat.addFile(lfss, lfs, now, now);</span>
+<span class="source-line-no">094</span><span id="line-94">    assertEquals(8, 
lfss.size());</span>
+<span class="source-line-no">095</span><span id="line-95">  }</span>
+<span class="source-line-no">096</span><span id="line-96"></span>
+<span class="source-line-no">097</span><span id="line-97">  @Test</span>
+<span class="source-line-no">098</span><span id="line-98">  public void 
testHandlesArchivedWALFiles() throws Exception {</span>
+<span class="source-line-no">099</span><span id="line-99">    Configuration 
conf = TEST_UTIL.getConfiguration();</span>
+<span class="source-line-no">100</span><span id="line-100">    JobContext ctx 
= Mockito.mock(JobContext.class);</span>
+<span class="source-line-no">101</span><span id="line-101">    
Mockito.when(ctx.getConfiguration()).thenReturn(conf);</span>
+<span class="source-line-no">102</span><span id="line-102">    Job job = 
Job.getInstance(conf);</span>
+<span class="source-line-no">103</span><span id="line-103">    
TableMapReduceUtil.initCredentialsForCluster(job, conf);</span>
+<span class="source-line-no">104</span><span id="line-104">    
Mockito.when(ctx.getCredentials()).thenReturn(job.getCredentials());</span>
+<span class="source-line-no">105</span><span id="line-105"></span>
+<span class="source-line-no">106</span><span id="line-106">    // Setup WAL 
file, then archive it</span>
+<span class="source-line-no">107</span><span id="line-107">    HRegionServer 
rs = TEST_UTIL.getHBaseCluster().getRegionServer(0);</span>
+<span class="source-line-no">108</span><span id="line-108">    AbstractFSWAL 
wal = (AbstractFSWAL) rs.getWALs().get(0);</span>
+<span class="source-line-no">109</span><span id="line-109">    Path walPath = 
wal.getCurrentFileName();</span>
+<span class="source-line-no">110</span><span id="line-110">    
TEST_UTIL.getConfiguration().set(FileInputFormat.INPUT_DIR, 
walPath.toString());</span>
+<span class="source-line-no">111</span><span id="line-111">    
TEST_UTIL.getConfiguration().set(WALPlayer.INPUT_FILES_SEPARATOR_KEY, 
";");</span>
+<span class="source-line-no">112</span><span id="line-112"></span>
+<span class="source-line-no">113</span><span id="line-113">    Path rootDir = 
CommonFSUtils.getWALRootDir(conf);</span>
+<span class="source-line-no">114</span><span id="line-114">    Path archiveWal 
= new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);</span>
+<span class="source-line-no">115</span><span id="line-115">    archiveWal = 
new Path(archiveWal, walPath.getName());</span>
+<span class="source-line-no">116</span><span id="line-116">    
TEST_UTIL.getTestFileSystem().delete(walPath, true);</span>
+<span class="source-line-no">117</span><span id="line-117">    
TEST_UTIL.getTestFileSystem().mkdirs(archiveWal.getParent());</span>
+<span class="source-line-no">118</span><span id="line-118">    
TEST_UTIL.getTestFileSystem().create(archiveWal).close();</span>
+<span class="source-line-no">119</span><span id="line-119"></span>
+<span class="source-line-no">120</span><span id="line-120">    // Test for 
that we can read from the archived WAL file</span>
+<span class="source-line-no">121</span><span id="line-121">    WALInputFormat 
wif = new WALInputFormat();</span>
+<span class="source-line-no">122</span><span id="line-122">    
List&lt;InputSplit&gt; splits = wif.getSplits(ctx);</span>
+<span class="source-line-no">123</span><span id="line-123">    assertEquals(1, 
splits.size());</span>
+<span class="source-line-no">124</span><span id="line-124">    
WALInputFormat.WALSplit split = (WALInputFormat.WALSplit) splits.get(0);</span>
+<span class="source-line-no">125</span><span id="line-125">    
assertEquals(archiveWal.toString(), split.getLogFileName());</span>
+<span class="source-line-no">126</span><span id="line-126">  }</span>
+<span class="source-line-no">127</span><span id="line-127"></span>
+<span class="source-line-no">128</span><span id="line-128">}</span>
 
 
 
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 691f51e1b7e..08e71785bdc 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -51116,6 +51116,8 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a 
href="org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.html#setupClass()" 
class="member-name-link">setupClass()</a> - Static method in class 
org.apache.hadoop.hbase.ipc.<a 
href="org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.html" title="class in 
org.apache.hadoop.hbase.ipc">TestSimpleRpcServer</a></dt>
 <dd>&nbsp;</dd>
+<dt><a 
href="org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#setupClass()" 
class="member-name-link">setupClass()</a> - Static method in class 
org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html" title="class 
in org.apache.hadoop.hbase.mapreduce">TestWALInputFormat</a></dt>
+<dd>&nbsp;</dd>
 <dt><a 
href="org/apache/hadoop/hbase/regionserver/TestMergesSplitsAddToTracker.html#setupClass()"
 class="member-name-link">setupClass()</a> - Static method in class 
org.apache.hadoop.hbase.regionserver.<a 
href="org/apache/hadoop/hbase/regionserver/TestMergesSplitsAddToTracker.html" 
title="class in 
org.apache.hadoop.hbase.regionserver">TestMergesSplitsAddToTracker</a></dt>
 <dd>&nbsp;</dd>
 <dt><a 
href="org/apache/hadoop/hbase/coprocessor/example/row/stats/TestRowStatisticsCompactionObserver.html#setUpClass()"
 class="member-name-link">setUpClass()</a> - Static method in class 
org.apache.hadoop.hbase.coprocessor.example.row.stats.<a 
href="org/apache/hadoop/hbase/coprocessor/example/row/stats/TestRowStatisticsCompactionObserver.html"
 title="class in 
org.apache.hadoop.hbase.coprocessor.example.row.stats">TestRowStatisticsCompactionObserver</a></dt>
@@ -58939,6 +58941,8 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a 
href="org/apache/hadoop/hbase/mapreduce/TestTableRecordReader.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a> - Static variable in class 
org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/TestTableRecordReader.html" 
title="class in 
org.apache.hadoop.hbase.mapreduce">TestTableRecordReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><a 
href="org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a> - Static variable in class 
org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html" title="class 
in org.apache.hadoop.hbase.mapreduce">TestWALInputFormat</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/mapreduce/TestWALPlayer.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a> - Static variable in class 
org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/TestWALPlayer.html" title="class in 
org.apache.hadoop.hbase.mapreduce">TestWALPlayer</a></dt>
 <dd>&nbsp;</dd>
 <dt><a 
href="org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a> - Static variable in class 
org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.html" title="class 
in org.apache.hadoop.hbase.mapreduce">TestWALRecordReader</a></dt>
@@ -69791,6 +69795,8 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a 
href="org/apache/hadoop/hbase/quotas/TestThreadHandlerUsageQuota.html#testHandlerUsageThrottleForWrites()"
 class="member-name-link">testHandlerUsageThrottleForWrites()</a> - Method in 
class org.apache.hadoop.hbase.quotas.<a 
href="org/apache/hadoop/hbase/quotas/TestThreadHandlerUsageQuota.html" 
title="class in 
org.apache.hadoop.hbase.quotas">TestThreadHandlerUsageQuota</a></dt>
 <dd>&nbsp;</dd>
+<dt><a 
href="org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#testHandlesArchivedWALFiles()"
 class="member-name-link">testHandlesArchivedWALFiles()</a> - Method in class 
org.apache.hadoop.hbase.mapreduce.<a 
href="org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html" title="class 
in org.apache.hadoop.hbase.mapreduce">TestWALInputFormat</a></dt>
+<dd>&nbsp;</dd>
 <dt><a 
href="org/apache/hadoop/hbase/ipc/TestNettyRpcServer.html#testHandshakeCompleteHandler()"
 class="member-name-link">testHandshakeCompleteHandler()</a> - Method in class 
org.apache.hadoop.hbase.ipc.<a 
href="org/apache/hadoop/hbase/ipc/TestNettyRpcServer.html" title="class in 
org.apache.hadoop.hbase.ipc">TestNettyRpcServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/client/TestPutDotHas.html#testHas()" 
class="member-name-link">testHas()</a> - Method in class 
org.apache.hadoop.hbase.client.<a 
href="org/apache/hadoop/hbase/client/TestPutDotHas.html" title="class in 
org.apache.hadoop.hbase.client">TestPutDotHas</a></dt>
diff --git a/testdevapidocs/member-search-index.js 
b/testdevapidocs/member-search-index.js
index f466c2fe2ff..b25a55c8cbc 100644
--- a/testdevapidocs/member-search-index.js
+++ b/testdevapidocs/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = 
[{"p":"org.apache.hadoop.hbase.master.janitor","c":"TestMetaFixerNoCluster","l":"_ARI"},{"p":"org.apache.hadoop.hbase.io","c":"TestHalfStoreFileReader","l":"_b(String)","u":"_b(java.lang.String)"},{"p":"org.apache.hadoop.hbase.master.janitor","c":"TestMetaFixerNoCluster","l":"_BRI"},{"p":"org.apache.hadoop.hbase.backup","c":"TestSystemTableSnapshot","l":"_testBackupRestoreSystemTable()"},{"p":"org.apache.hadoop.hbase.regionserver","c":"TestBlocksScanned","l":"_testBlo
 [...]
\ No newline at end of file
+memberSearchIndex = 
[{"p":"org.apache.hadoop.hbase.master.janitor","c":"TestMetaFixerNoCluster","l":"_ARI"},{"p":"org.apache.hadoop.hbase.io","c":"TestHalfStoreFileReader","l":"_b(String)","u":"_b(java.lang.String)"},{"p":"org.apache.hadoop.hbase.master.janitor","c":"TestMetaFixerNoCluster","l":"_BRI"},{"p":"org.apache.hadoop.hbase.backup","c":"TestSystemTableSnapshot","l":"_testBackupRestoreSystemTable()"},{"p":"org.apache.hadoop.hbase.regionserver","c":"TestBlocksScanned","l":"_testBlo
 [...]
\ No newline at end of file
diff --git 
a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtil.html 
b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtil.html
index ba147ae28d6..bd624f5688b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtil.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtil.html
@@ -1530,71 +1530,74 @@ loadScripts(document, 'script');</script>
 <div class="col-second even-row-color"><span 
class="type-name-label">TestTableRecordReader.</span><code><a 
href="../mapreduce/TestTableRecordReader.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">TestWALPlayer.</span><code><a 
href="../mapreduce/TestWALPlayer.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestWALInputFormat.</span><code><a 
href="../mapreduce/TestWALInputFormat.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestWALRecordReader.</span><code><a 
href="../mapreduce/TestWALRecordReader.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">TestWALPlayer.</span><code><a 
href="../mapreduce/TestWALPlayer.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code>protected static <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">TestImportTsv.</span><code><a 
href="../mapreduce/TestImportTsv.html#util" 
class="member-name-link">util</a></code></div>
+<div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestWALRecordReader.</span><code><a 
href="../mapreduce/TestWALRecordReader.html#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code>protected static <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestImportTSVWithOperationAttributes.</span><code><a 
href="../mapreduce/TestImportTSVWithOperationAttributes.html#util" 
class="member-name-link">util</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">TestImportTsv.</span><code><a 
href="../mapreduce/TestImportTsv.html#util" 
class="member-name-link">util</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code>protected static <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">TestImportTSVWithTTLs.</span><code><a 
href="../mapreduce/TestImportTSVWithTTLs.html#util" 
class="member-name-link">util</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestImportTSVWithOperationAttributes.</span><code><a 
href="../mapreduce/TestImportTSVWithOperationAttributes.html#util" 
class="member-name-link">util</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code>protected static <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestImportTSVWithVisibilityLabels.</span><code><a 
href="../mapreduce/TestImportTSVWithVisibilityLabels.html#util" 
class="member-name-link">util</a></code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code>private static <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">TestMapReduceExamples.</span><code><a 
href="../mapreduce/TestMapReduceExamples.html#util" 
class="member-name-link">util</a></code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestTableOutputFormat.</span><code><a 
href="../mapreduce/TestTableOutputFormat.html#util" 
class="member-name-link">util</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">TestImportTSVWithTTLs.</span><code><a 
href="../mapreduce/TestImportTSVWithTTLs.html#util" 
class="member-name-link">util</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code>protected static <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">HFileOutputFormat2TestBase.</span><code><a 
href="../mapreduce/HFileOutputFormat2TestBase.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestImportTSVWithVisibilityLabels.</span><code><a 
href="../mapreduce/TestImportTSVWithVisibilityLabels.html#util" 
class="member-name-link">util</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code>protected final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TableSnapshotInputFormatTestBase.</span><code><a 
href="../mapreduce/TableSnapshotInputFormatTestBase.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-first even-row-color"><code>private static <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">TestMapReduceExamples.</span><code><a 
href="../mapreduce/TestMapReduceExamples.html#util" 
class="member-name-link">util</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">TestCellCounter.</span><code><a 
href="../mapreduce/TestCellCounter.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestTableOutputFormat.</span><code><a 
href="../mapreduce/TestTableOutputFormat.html#util" 
class="member-name-link">util</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestConfigurePartitioner.</span><code><a 
href="../mapreduce/TestConfigurePartitioner.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-first even-row-color"><code>protected static <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">HFileOutputFormat2TestBase.</span><code><a 
href="../mapreduce/HFileOutputFormat2TestBase.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">TestHRegionPartitioner.</span><code><a 
href="../mapreduce/TestHRegionPartitioner.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-first odd-row-color"><code>protected final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TableSnapshotInputFormatTestBase.</span><code><a 
href="../mapreduce/TableSnapshotInputFormatTestBase.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code>protected static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestImportExport.</span><code><a 
href="../mapreduce/TestImportExport.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-first even-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">TestCellCounter.</span><code><a 
href="../mapreduce/TestCellCounter.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">TestMultithreadedTableMapper.</span><code><a 
href="../mapreduce/TestMultithreadedTableMapper.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestConfigurePartitioner.</span><code><a 
href="../mapreduce/TestConfigurePartitioner.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestTableInputFormat.</span><code><a 
href="../mapreduce/TestTableInputFormat.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">TestHRegionPartitioner.</span><code><a 
href="../mapreduce/TestHRegionPartitioner.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code>protected static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">TestTableMapReduceBase.</span><code><a 
href="../mapreduce/TestTableMapReduceBase.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestImportExport.</span><code><a 
href="../mapreduce/TestImportExport.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestTimeRangeMapRed.</span><code><a 
href="../mapreduce/TestTimeRangeMapRed.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">TestMultithreadedTableMapper.</span><code><a 
href="../mapreduce/TestMultithreadedTableMapper.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code>protected static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">CopyTableToPeerClusterTestBase.</span><code><a 
href="../mapreduce/CopyTableToPeerClusterTestBase.html#UTIL1" 
class="member-name-link">UTIL1</a></code></div>
+<div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestTableInputFormat.</span><code><a 
href="../mapreduce/TestTableInputFormat.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestSyncTable.</span><code><a 
href="../mapreduce/TestSyncTable.html#UTIL1" 
class="member-name-link">UTIL1</a></code></div>
+<div class="col-first even-row-color"><code>protected static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">TestTableMapReduceBase.</span><code><a 
href="../mapreduce/TestTableMapReduceBase.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code>protected static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second odd-row-color"><span 
class="type-name-label">CopyTableToPeerClusterTestBase.</span><code><a 
href="../mapreduce/CopyTableToPeerClusterTestBase.html#UTIL2" 
class="member-name-link">UTIL2</a></code></div>
+<div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestTimeRangeMapRed.</span><code><a 
href="../mapreduce/TestTimeRangeMapRed.html#UTIL" 
class="member-name-link">UTIL</a></code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
-<div class="col-second even-row-color"><span 
class="type-name-label">TestSyncTable.</span><code><a 
href="../mapreduce/TestSyncTable.html#UTIL2" 
class="member-name-link">UTIL2</a></code></div>
+<div class="col-first even-row-color"><code>protected static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">CopyTableToPeerClusterTestBase.</span><code><a 
href="../mapreduce/CopyTableToPeerClusterTestBase.html#UTIL1" 
class="member-name-link">UTIL1</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestSyncTable.</span><code><a 
href="../mapreduce/TestSyncTable.html#UTIL1" 
class="member-name-link">UTIL1</a></code></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><code>protected static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second even-row-color"><span 
class="type-name-label">CopyTableToPeerClusterTestBase.</span><code><a 
href="../mapreduce/CopyTableToPeerClusterTestBase.html#UTIL2" 
class="member-name-link">UTIL2</a></code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second odd-row-color"><span 
class="type-name-label">TestSyncTable.</span><code><a 
href="../mapreduce/TestSyncTable.html#UTIL2" 
class="member-name-link">UTIL2</a></code></div>
+<div class="col-last odd-row-color">&nbsp;</div>
 </div>
 <div class="caption"><span>Methods in <a 
href="../mapreduce/package-summary.html">org.apache.hadoop.hbase.mapreduce</a> 
with parameters of type <a href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></span></div>
 <div class="summary-table three-column-summary">
diff --git 
a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html 
b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
index 3e7ef59b07c..69fd6fb391b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
@@ -77,7 +77,7 @@ loadScripts(document, 'script');</script>
 </div>
 <section class="class-description" id="class-description">
 <hr>
-<div class="type-signature"><span class="modifiers">public class </span><span 
class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-36">TestWALInputFormat</a></span>
+<div class="type-signature"><span class="modifiers">public class </span><span 
class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-47">TestWALInputFormat</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>
 </section>
 <section class="summary">
@@ -94,6 +94,9 @@ loadScripts(document, 'script');</script>
 <div class="col-first even-row-color"><code>static final <a 
href="../HBaseClassTestRule.html" title="class in 
org.apache.hadoop.hbase">HBaseClassTestRule</a></code></div>
 <div class="col-second even-row-color"><code><a href="#CLASS_RULE" 
class="member-name-link">CLASS_RULE</a></code></div>
 <div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><code>private static final <a 
href="../HBaseTestingUtil.html" title="class in 
org.apache.hadoop.hbase">HBaseTestingUtil</a></code></div>
+<div class="col-second odd-row-color"><code><a href="#TEST_UTIL" 
class="member-name-link">TEST_UTIL</a></code></div>
+<div class="col-last odd-row-color">&nbsp;</div>
 </div>
 </section>
 </li>
@@ -115,17 +118,23 @@ loadScripts(document, 'script');</script>
 <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-tab2" role="tab" 
aria-selected="false" aria-controls="method-summary-table.tabpanel" 
tabindex="-1" onkeydown="switchTab( [...]
+<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( [...]
 <div id="method-summary-table.tabpanel" role="tabpanel" 
aria-labelledby="method-summary-table-tab0">
 <div class="summary-table three-column-summary">
 <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-tab2 method-summary-table-tab4"><code>void</code></div>
-<div class="col-second even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code><a 
href="#testAddFile()" class="member-name-link">testAddFile</a>()</code></div>
-<div class="col-last even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4">
+<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="#setupClass()" class="member-name-link">setupClass</a>()</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-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code><a 
href="#testAddFile()" class="member-name-link">testAddFile</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4">
 <div class="block">Test the primitive start/end time filtering.</div>
 </div>
+<div class="col-first even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4"><code><a 
href="#testHandlesArchivedWALFiles()" 
class="member-name-link">testHandlesArchivedWALFiles</a>()</code></div>
+<div class="col-last even-row-color method-summary-table 
method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 </div>
 </div>
 </div>
@@ -144,9 +153,15 @@ loadScripts(document, 'script');</script>
 <h2>Field Details</h2>
 <ul class="member-list">
 <li>
+<section class="detail" id="TEST_UTIL">
+<h3>TEST_UTIL</h3>
+<div class="member-signature"><span class="modifiers">private static 
final</span>&nbsp;<span class="return-type"><a href="../HBaseTestingUtil.html" 
title="class in org.apache.hadoop.hbase">HBaseTestingUtil</a></span>&nbsp;<span 
class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-49">TEST_UTIL</a></span></div>
+</section>
+</li>
+<li>
 <section class="detail" id="CLASS_RULE">
 <h3>CLASS_RULE</h3>
-<div class="member-signature"><span class="modifiers">public static 
final</span>&nbsp;<span class="return-type"><a 
href="../HBaseClassTestRule.html" title="class in 
org.apache.hadoop.hbase">HBaseClassTestRule</a></span>&nbsp;<span 
class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-38">CLASS_RULE</a></span></div>
+<div class="member-signature"><span class="modifiers">public static 
final</span>&nbsp;<span class="return-type"><a 
href="../HBaseClassTestRule.html" title="class in 
org.apache.hadoop.hbase">HBaseClassTestRule</a></span>&nbsp;<span 
class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-51">CLASS_RULE</a></span></div>
 </section>
 </li>
 </ul>
@@ -160,7 +175,7 @@ loadScripts(document, 'script');</script>
 <li>
 <section class="detail" id="&lt;init&gt;()">
 <h3>TestWALInputFormat</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span 
class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-37">TestWALInputFormat</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span 
class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-48">TestWALInputFormat</a></span>()</div>
 </section>
 </li>
 </ul>
@@ -172,12 +187,34 @@ loadScripts(document, 'script');</script>
 <h2>Method Details</h2>
 <ul class="member-list">
 <li>
+<section class="detail" id="setupClass()">
+<h3>setupClass</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/mapreduce/TestWALInputFormat.html#line-55">setupClass</a></span>()
+                       throws <span class="exceptions"><a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Exception.html";
 title="class or interface in java.lang" 
class="external-link">Exception</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/lang/Exception.html";
 title="class or interface in java.lang" 
class="external-link">Exception</a></code></dd>
+</dl>
+</section>
+</li>
+<li>
 <section class="detail" id="testAddFile()">
 <h3>testAddFile</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-45">testAddFile</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-64">testAddFile</a></span>()</div>
 <div class="block">Test the primitive start/end time filtering.</div>
 </section>
 </li>
+<li>
+<section class="detail" id="testHandlesArchivedWALFiles()">
+<h3>testHandlesArchivedWALFiles</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html#line-97">testHandlesArchivedWALFiles</a></span>()
+                                 throws <span class="exceptions"><a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Exception.html";
 title="class or interface in java.lang" 
class="external-link">Exception</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/lang/Exception.html";
 title="class or interface in java.lang" 
class="external-link">Exception</a></code></dd>
+</dl>
+</section>
+</li>
 </ul>
 </section>
 </li>
diff --git 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
index e8a910cd38c..240a531c085 100644
--- 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
+++ 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestWALInputFormat.html
@@ -34,60 +34,111 @@
 <span class="source-line-no">021</span><span id="line-21"></span>
 <span class="source-line-no">022</span><span id="line-22">import 
java.util.ArrayList;</span>
 <span class="source-line-no">023</span><span id="line-23">import 
java.util.List;</span>
-<span class="source-line-no">024</span><span id="line-24">import 
org.apache.hadoop.fs.FileStatus;</span>
-<span class="source-line-no">025</span><span id="line-25">import 
org.apache.hadoop.fs.LocatedFileStatus;</span>
-<span class="source-line-no">026</span><span id="line-26">import 
org.apache.hadoop.fs.Path;</span>
-<span class="source-line-no">027</span><span id="line-27">import 
org.apache.hadoop.hbase.HBaseClassTestRule;</span>
-<span class="source-line-no">028</span><span id="line-28">import 
org.apache.hadoop.hbase.testclassification.MapReduceTests;</span>
-<span class="source-line-no">029</span><span id="line-29">import 
org.apache.hadoop.hbase.testclassification.SmallTests;</span>
-<span class="source-line-no">030</span><span id="line-30">import 
org.apache.hadoop.hbase.util.EnvironmentEdgeManager;</span>
-<span class="source-line-no">031</span><span id="line-31">import 
org.junit.ClassRule;</span>
-<span class="source-line-no">032</span><span id="line-32">import 
org.junit.Test;</span>
-<span class="source-line-no">033</span><span id="line-33">import 
org.junit.experimental.categories.Category;</span>
-<span class="source-line-no">034</span><span id="line-34">import 
org.mockito.Mockito;</span>
-<span class="source-line-no">035</span><span id="line-35"></span>
-<span class="source-line-no">036</span><span id="line-36">@Category({ 
MapReduceTests.class, SmallTests.class })</span>
-<span class="source-line-no">037</span><span id="line-37">public class 
TestWALInputFormat {</span>
-<span class="source-line-no">038</span><span id="line-38">  @ClassRule</span>
-<span class="source-line-no">039</span><span id="line-39">  public static 
final HBaseClassTestRule CLASS_RULE =</span>
-<span class="source-line-no">040</span><span id="line-40">    
HBaseClassTestRule.forClass(TestWALInputFormat.class);</span>
-<span class="source-line-no">041</span><span id="line-41"></span>
-<span class="source-line-no">042</span><span id="line-42">  /**</span>
-<span class="source-line-no">043</span><span id="line-43">   * Test the 
primitive start/end time filtering.</span>
-<span class="source-line-no">044</span><span id="line-44">   */</span>
-<span class="source-line-no">045</span><span id="line-45">  @Test</span>
-<span class="source-line-no">046</span><span id="line-46">  public void 
testAddFile() {</span>
-<span class="source-line-no">047</span><span id="line-47">    
List&lt;FileStatus&gt; lfss = new ArrayList&lt;&gt;();</span>
-<span class="source-line-no">048</span><span id="line-48">    
LocatedFileStatus lfs = Mockito.mock(LocatedFileStatus.class);</span>
-<span class="source-line-no">049</span><span id="line-49">    long now = 
EnvironmentEdgeManager.currentTime();</span>
-<span class="source-line-no">050</span><span id="line-50">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name." + now));</span>
-<span class="source-line-no">051</span><span id="line-51">    
WALInputFormat.addFile(lfss, lfs, now, now);</span>
-<span class="source-line-no">052</span><span id="line-52">    assertEquals(1, 
lfss.size());</span>
-<span class="source-line-no">053</span><span id="line-53">    
WALInputFormat.addFile(lfss, lfs, now - 1, now - 1);</span>
-<span class="source-line-no">054</span><span id="line-54">    assertEquals(1, 
lfss.size());</span>
-<span class="source-line-no">055</span><span id="line-55">    
WALInputFormat.addFile(lfss, lfs, now - 2, now - 1);</span>
-<span class="source-line-no">056</span><span id="line-56">    assertEquals(1, 
lfss.size());</span>
-<span class="source-line-no">057</span><span id="line-57">    
WALInputFormat.addFile(lfss, lfs, now - 2, now);</span>
-<span class="source-line-no">058</span><span id="line-58">    assertEquals(2, 
lfss.size());</span>
-<span class="source-line-no">059</span><span id="line-59">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, now);</span>
-<span class="source-line-no">060</span><span id="line-60">    assertEquals(3, 
lfss.size());</span>
-<span class="source-line-no">061</span><span id="line-61">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
-<span class="source-line-no">062</span><span id="line-62">    assertEquals(4, 
lfss.size());</span>
-<span class="source-line-no">063</span><span id="line-63">    
WALInputFormat.addFile(lfss, lfs, now, now + 2);</span>
-<span class="source-line-no">064</span><span id="line-64">    assertEquals(5, 
lfss.size());</span>
-<span class="source-line-no">065</span><span id="line-65">    
WALInputFormat.addFile(lfss, lfs, now + 1, now + 2);</span>
-<span class="source-line-no">066</span><span id="line-66">    assertEquals(5, 
lfss.size());</span>
-<span class="source-line-no">067</span><span id="line-67">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name"));</span>
-<span class="source-line-no">068</span><span id="line-68">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
-<span class="source-line-no">069</span><span id="line-69">    assertEquals(6, 
lfss.size());</span>
-<span class="source-line-no">070</span><span id="line-70">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name.123"));</span>
-<span class="source-line-no">071</span><span id="line-71">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
-<span class="source-line-no">072</span><span id="line-72">    assertEquals(7, 
lfss.size());</span>
-<span class="source-line-no">073</span><span id="line-73">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name." + now + 
".meta"));</span>
-<span class="source-line-no">074</span><span id="line-74">    
WALInputFormat.addFile(lfss, lfs, now, now);</span>
-<span class="source-line-no">075</span><span id="line-75">    assertEquals(8, 
lfss.size());</span>
-<span class="source-line-no">076</span><span id="line-76">  }</span>
-<span class="source-line-no">077</span><span id="line-77">}</span>
+<span class="source-line-no">024</span><span id="line-24">import 
org.apache.hadoop.conf.Configuration;</span>
+<span class="source-line-no">025</span><span id="line-25">import 
org.apache.hadoop.fs.FileStatus;</span>
+<span class="source-line-no">026</span><span id="line-26">import 
org.apache.hadoop.fs.LocatedFileStatus;</span>
+<span class="source-line-no">027</span><span id="line-27">import 
org.apache.hadoop.fs.Path;</span>
+<span class="source-line-no">028</span><span id="line-28">import 
org.apache.hadoop.hbase.HBaseClassTestRule;</span>
+<span class="source-line-no">029</span><span id="line-29">import 
org.apache.hadoop.hbase.HBaseTestingUtil;</span>
+<span class="source-line-no">030</span><span id="line-30">import 
org.apache.hadoop.hbase.HConstants;</span>
+<span class="source-line-no">031</span><span id="line-31">import 
org.apache.hadoop.hbase.regionserver.HRegionServer;</span>
+<span class="source-line-no">032</span><span id="line-32">import 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL;</span>
+<span class="source-line-no">033</span><span id="line-33">import 
org.apache.hadoop.hbase.testclassification.MapReduceTests;</span>
+<span class="source-line-no">034</span><span id="line-34">import 
org.apache.hadoop.hbase.testclassification.MediumTests;</span>
+<span class="source-line-no">035</span><span id="line-35">import 
org.apache.hadoop.hbase.util.CommonFSUtils;</span>
+<span class="source-line-no">036</span><span id="line-36">import 
org.apache.hadoop.hbase.util.EnvironmentEdgeManager;</span>
+<span class="source-line-no">037</span><span id="line-37">import 
org.apache.hadoop.mapreduce.InputSplit;</span>
+<span class="source-line-no">038</span><span id="line-38">import 
org.apache.hadoop.mapreduce.Job;</span>
+<span class="source-line-no">039</span><span id="line-39">import 
org.apache.hadoop.mapreduce.JobContext;</span>
+<span class="source-line-no">040</span><span id="line-40">import 
org.apache.hadoop.mapreduce.lib.input.FileInputFormat;</span>
+<span class="source-line-no">041</span><span id="line-41">import 
org.junit.BeforeClass;</span>
+<span class="source-line-no">042</span><span id="line-42">import 
org.junit.ClassRule;</span>
+<span class="source-line-no">043</span><span id="line-43">import 
org.junit.Test;</span>
+<span class="source-line-no">044</span><span id="line-44">import 
org.junit.experimental.categories.Category;</span>
+<span class="source-line-no">045</span><span id="line-45">import 
org.mockito.Mockito;</span>
+<span class="source-line-no">046</span><span id="line-46"></span>
+<span class="source-line-no">047</span><span id="line-47">@Category({ 
MapReduceTests.class, MediumTests.class })</span>
+<span class="source-line-no">048</span><span id="line-48">public class 
TestWALInputFormat {</span>
+<span class="source-line-no">049</span><span id="line-49">  private static 
final HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();</span>
+<span class="source-line-no">050</span><span id="line-50"></span>
+<span class="source-line-no">051</span><span id="line-51">  @ClassRule</span>
+<span class="source-line-no">052</span><span id="line-52">  public static 
final HBaseClassTestRule CLASS_RULE =</span>
+<span class="source-line-no">053</span><span id="line-53">    
HBaseClassTestRule.forClass(TestWALInputFormat.class);</span>
+<span class="source-line-no">054</span><span id="line-54"></span>
+<span class="source-line-no">055</span><span id="line-55">  @BeforeClass</span>
+<span class="source-line-no">056</span><span id="line-56">  public static void 
setupClass() throws Exception {</span>
+<span class="source-line-no">057</span><span id="line-57">    
TEST_UTIL.startMiniCluster();</span>
+<span class="source-line-no">058</span><span id="line-58">    
TEST_UTIL.createWALRootDir();</span>
+<span class="source-line-no">059</span><span id="line-59">  }</span>
+<span class="source-line-no">060</span><span id="line-60"></span>
+<span class="source-line-no">061</span><span id="line-61">  /**</span>
+<span class="source-line-no">062</span><span id="line-62">   * Test the 
primitive start/end time filtering.</span>
+<span class="source-line-no">063</span><span id="line-63">   */</span>
+<span class="source-line-no">064</span><span id="line-64">  @Test</span>
+<span class="source-line-no">065</span><span id="line-65">  public void 
testAddFile() {</span>
+<span class="source-line-no">066</span><span id="line-66">    
List&lt;FileStatus&gt; lfss = new ArrayList&lt;&gt;();</span>
+<span class="source-line-no">067</span><span id="line-67">    
LocatedFileStatus lfs = Mockito.mock(LocatedFileStatus.class);</span>
+<span class="source-line-no">068</span><span id="line-68">    long now = 
EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">069</span><span id="line-69">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name." + now));</span>
+<span class="source-line-no">070</span><span id="line-70">    
WALInputFormat.addFile(lfss, lfs, now, now);</span>
+<span class="source-line-no">071</span><span id="line-71">    assertEquals(1, 
lfss.size());</span>
+<span class="source-line-no">072</span><span id="line-72">    
WALInputFormat.addFile(lfss, lfs, now - 1, now - 1);</span>
+<span class="source-line-no">073</span><span id="line-73">    assertEquals(1, 
lfss.size());</span>
+<span class="source-line-no">074</span><span id="line-74">    
WALInputFormat.addFile(lfss, lfs, now - 2, now - 1);</span>
+<span class="source-line-no">075</span><span id="line-75">    assertEquals(1, 
lfss.size());</span>
+<span class="source-line-no">076</span><span id="line-76">    
WALInputFormat.addFile(lfss, lfs, now - 2, now);</span>
+<span class="source-line-no">077</span><span id="line-77">    assertEquals(2, 
lfss.size());</span>
+<span class="source-line-no">078</span><span id="line-78">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, now);</span>
+<span class="source-line-no">079</span><span id="line-79">    assertEquals(3, 
lfss.size());</span>
+<span class="source-line-no">080</span><span id="line-80">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
+<span class="source-line-no">081</span><span id="line-81">    assertEquals(4, 
lfss.size());</span>
+<span class="source-line-no">082</span><span id="line-82">    
WALInputFormat.addFile(lfss, lfs, now, now + 2);</span>
+<span class="source-line-no">083</span><span id="line-83">    assertEquals(5, 
lfss.size());</span>
+<span class="source-line-no">084</span><span id="line-84">    
WALInputFormat.addFile(lfss, lfs, now + 1, now + 2);</span>
+<span class="source-line-no">085</span><span id="line-85">    assertEquals(5, 
lfss.size());</span>
+<span class="source-line-no">086</span><span id="line-86">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name"));</span>
+<span class="source-line-no">087</span><span id="line-87">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
+<span class="source-line-no">088</span><span id="line-88">    assertEquals(6, 
lfss.size());</span>
+<span class="source-line-no">089</span><span id="line-89">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name.123"));</span>
+<span class="source-line-no">090</span><span id="line-90">    
WALInputFormat.addFile(lfss, lfs, Long.MIN_VALUE, Long.MAX_VALUE);</span>
+<span class="source-line-no">091</span><span id="line-91">    assertEquals(7, 
lfss.size());</span>
+<span class="source-line-no">092</span><span id="line-92">    
Mockito.when(lfs.getPath()).thenReturn(new Path("/name." + now + 
".meta"));</span>
+<span class="source-line-no">093</span><span id="line-93">    
WALInputFormat.addFile(lfss, lfs, now, now);</span>
+<span class="source-line-no">094</span><span id="line-94">    assertEquals(8, 
lfss.size());</span>
+<span class="source-line-no">095</span><span id="line-95">  }</span>
+<span class="source-line-no">096</span><span id="line-96"></span>
+<span class="source-line-no">097</span><span id="line-97">  @Test</span>
+<span class="source-line-no">098</span><span id="line-98">  public void 
testHandlesArchivedWALFiles() throws Exception {</span>
+<span class="source-line-no">099</span><span id="line-99">    Configuration 
conf = TEST_UTIL.getConfiguration();</span>
+<span class="source-line-no">100</span><span id="line-100">    JobContext ctx 
= Mockito.mock(JobContext.class);</span>
+<span class="source-line-no">101</span><span id="line-101">    
Mockito.when(ctx.getConfiguration()).thenReturn(conf);</span>
+<span class="source-line-no">102</span><span id="line-102">    Job job = 
Job.getInstance(conf);</span>
+<span class="source-line-no">103</span><span id="line-103">    
TableMapReduceUtil.initCredentialsForCluster(job, conf);</span>
+<span class="source-line-no">104</span><span id="line-104">    
Mockito.when(ctx.getCredentials()).thenReturn(job.getCredentials());</span>
+<span class="source-line-no">105</span><span id="line-105"></span>
+<span class="source-line-no">106</span><span id="line-106">    // Setup WAL 
file, then archive it</span>
+<span class="source-line-no">107</span><span id="line-107">    HRegionServer 
rs = TEST_UTIL.getHBaseCluster().getRegionServer(0);</span>
+<span class="source-line-no">108</span><span id="line-108">    AbstractFSWAL 
wal = (AbstractFSWAL) rs.getWALs().get(0);</span>
+<span class="source-line-no">109</span><span id="line-109">    Path walPath = 
wal.getCurrentFileName();</span>
+<span class="source-line-no">110</span><span id="line-110">    
TEST_UTIL.getConfiguration().set(FileInputFormat.INPUT_DIR, 
walPath.toString());</span>
+<span class="source-line-no">111</span><span id="line-111">    
TEST_UTIL.getConfiguration().set(WALPlayer.INPUT_FILES_SEPARATOR_KEY, 
";");</span>
+<span class="source-line-no">112</span><span id="line-112"></span>
+<span class="source-line-no">113</span><span id="line-113">    Path rootDir = 
CommonFSUtils.getWALRootDir(conf);</span>
+<span class="source-line-no">114</span><span id="line-114">    Path archiveWal 
= new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);</span>
+<span class="source-line-no">115</span><span id="line-115">    archiveWal = 
new Path(archiveWal, walPath.getName());</span>
+<span class="source-line-no">116</span><span id="line-116">    
TEST_UTIL.getTestFileSystem().delete(walPath, true);</span>
+<span class="source-line-no">117</span><span id="line-117">    
TEST_UTIL.getTestFileSystem().mkdirs(archiveWal.getParent());</span>
+<span class="source-line-no">118</span><span id="line-118">    
TEST_UTIL.getTestFileSystem().create(archiveWal).close();</span>
+<span class="source-line-no">119</span><span id="line-119"></span>
+<span class="source-line-no">120</span><span id="line-120">    // Test for 
that we can read from the archived WAL file</span>
+<span class="source-line-no">121</span><span id="line-121">    WALInputFormat 
wif = new WALInputFormat();</span>
+<span class="source-line-no">122</span><span id="line-122">    
List&lt;InputSplit&gt; splits = wif.getSplits(ctx);</span>
+<span class="source-line-no">123</span><span id="line-123">    assertEquals(1, 
splits.size());</span>
+<span class="source-line-no">124</span><span id="line-124">    
WALInputFormat.WALSplit split = (WALInputFormat.WALSplit) splits.get(0);</span>
+<span class="source-line-no">125</span><span id="line-125">    
assertEquals(archiveWal.toString(), split.getLogFileName());</span>
+<span class="source-line-no">126</span><span id="line-126">  }</span>
+<span class="source-line-no">127</span><span id="line-127"></span>
+<span class="source-line-no">128</span><span id="line-128">}</span>
 
 
 


Reply via email to