HBASE-30371: Point-In-Time Restore is trying to find .backup.manifest file in the .tmp directory - #8638
Conversation
… file in the .tmp directory Change-Id: Ic09ed49bb0a713e323e291abe60fcc90cd1f1c91
| if (HBASE_TEMP_DIRECTORY.equals(backupId)) { | ||
| continue; | ||
| } | ||
|
|
There was a problem hiding this comment.
So why then this would find a path under hbase temp?
There was a problem hiding this comment.
That's a good question. I'm looking into this. Based on what I've seen so far, the backup_XXXX directory within backupRoot/.tmp is getting deleted, but not the .tmp dir itself.
There was a problem hiding this comment.
It looks like only the bulkoad directory (backupRoot/.tmp/backup_XXXX) was getting deleted when an incremental backup finished:
https://github.com/apache/hbase/blob/master/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java#L427
I added a new commit that deletes backupRoot/.tmp instead. Should we still have .tmp get skipped over in the code here as well as a safeguard?
cc. @ankitsol
Change-Id: I133a15a7fbd154af32ffd4572d024aaa269737f7
Change-Id: Iea0d82c96acef6abbb59b85f69aac49fcf7d469d
https://issues.apache.org/jira/browse/HBASE-30371
AI Usage
The unit test in the pull request was generated with Claude Opus 4.6
Summary
This pull request adds an
ifblock toHBackupFileSystemthat allows the.tmpdirectory to be skipped over when each backup root subdirectory is searched for its.backup.manifestfile.Before this fix, an error message would be logged during a Point-In-Time Restore saying the backup manifest could not be found in
.tmp. The.tmpdirectory is not an actual backup directory, so it should not permanently hold this type of file to begin with.