[ 
https://issues.apache.org/jira/browse/HBASE-30440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on HBASE-30440 started by Junegunn Choi.
---------------------------------------------
> 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
>
> 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)

Reply via email to