Bryan Beaudreault created HBASE-26300:
-----------------------------------------
Summary: Incremental backup may be broken by MasterRegion
implementation in 3.x
Key: HBASE-26300
URL: https://issues.apache.org/jira/browse/HBASE-26300
Project: HBase
Issue Type: Bug
Reporter: Bryan Beaudreault
I've been reading through the incremental backup implementation in master
branch to see how it handled some scenarios our own internal incremental backup
process has to handle. One such failure we recently encountered as part of our
ongoing hbase2 upgrade is the new $masterlocalwal$ suffixed files in the
oldWALs dir. Our parsing of the WAL files assumed that the last part of the
file name would be a timestamp, which is not the case for these MasterRegion
WALs.
I see [IncrementalBackupManager excludes
ProcV2Wals|https://github.com/apache/hbase/blob/master/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.java#L104-L117],
but I think that was replaced in
https://issues.apache.org/jira/browse/HBASE-24408 with a MasterRegion. The new
MasterRegion uses normal WALs, but archives them with a suffix
"$masterlocalwal$".
I believe this would fail [around line 222 of
IncrementalBackupManager|https://github.com/apache/hbase/blob/master/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.java#L222],
because
[BackupUtils.getCreationTime|https://github.com/apache/hbase/blob/master/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/util/BackupUtils.java#L383-L390]
similarly expects the file names to end with a timestamp.
Unfortunately I am not set up to run master branch or test the backup/restore
functionality, but I wanted to log this because I happened to stumble upon it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)