[
https://issues.apache.org/jira/browse/HBASE-30440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Junegunn Choi resolved HBASE-30440.
-----------------------------------
Fix Version/s: 4.0.0-alpha-1
2.7.0
3.1.0
3.0.1
2.6.8
2.5.17
Resolution: Fixed
Pushed to the following branches:
* master
* branch-3
* branch-3.0
* branch-2
* branch-2.6
* branch-2.5
Thanks to [~andor] for the review!
> Skip archived master-local WALs in WALInputFormat
> -------------------------------------------------
>
> Key: HBASE-30440
> URL: https://issues.apache.org/jira/browse/HBASE-30440
> Project: HBase
> Issue Type: Improvement
> Reporter: Junegunn Choi
> Assignee: Junegunn Choi
> Priority: Major
> Labels: pull-request-available
> Fix For: 4.0.0-alpha-1, 2.7.0, 3.1.0, 3.0.1, 2.6.8, 2.5.17
>
>
> h2. Problem
> When WALPlayer scans {{oldWALs}}, {{WALInputFormat}} creates input splits for
> archived master-local WALs ending in {{$masterlocalwal$}}. These files
> contain internal {{master:store}} edits and are not needed for table replay.
> Actual {{hbase:meta}} edits use separate {{.meta}} WALs.
> {{WALInputFormat.addFile}} treats these filenames as having no parseable
> timestamp and includes them regardless of the requested time range. Selecting
> a table only filters edits in the mapper, after the input files have been
> opened.
> In one of our test clusters, there were 683 master-local WALs among 777
> regular WAL files.
> h2. Fix
> Skip files ending in {{MasterRegionFactory.ARCHIVED_WAL_SUFFIX}} before
> creating input splits. Preserve ordinary WALs, {{.meta}} WALs, and recovered
> edits. HBASE-26300 already excludes archived master-local WALs from
> incremental backups.
> Regression coverage checks recursive directory and explicit-file inputs,
> empty and non-empty master-local WALs, and both settings of
> {{wal.input.ignore.empty.files}}. All 10 tests in {{TestWALInputFormat}} and
> {{TestWALRecordReader}} pass. Spotless also passes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)