kgeisz opened a new pull request, #7664: URL: https://github.com/apache/hbase/pull/7664
https://issues.apache.org/jira/browse/HBASE-29826 This pull request makes a change that deletes the bulk load output directory when a continuous incremental backup is complete. ### Summary Originally, a continuous incremental backup was creating a `backupRootDir/.tmp/backup_XXXX` directory for bulk load output, but this directory was not being deleted after. This would cause an issue in `MapReduceBackupMergeJob` when performing a merge. During the merge, it tries to move the backup directory to the `.tmp` directory. Since the backup directory already exists inside of `.tmp`, the location of the backup manifest ends up being `.tmp/backup_XXXX/backup_XXXX/.backup.manifest`. As a result, the backup manifest cannot be found and an error is thrown because the code of lookin for the file in `.tmp/backup_XXXX/.backup.manifest` and not `.tmp/backup_XXXX/backup_XXXX/.backup.manifest`. ### Testing - I have added an `assert` statement to a continuous incremental backup unit test that verifies the backup directory has been deleted after the incremental backup is complete. - I have manually verified the bulk load directory is empty right before it is deleted, but this check has not been implemented into a unit test. I looked into how this could be tested. This check would need to be performed after `IncrementalTableBackupClient.handleBulkLoad()`. The only place I see this method in current test code is in [TestBackupBase](https://github.com/apache/hbase/blob/master/hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestBackupBase.java#L196), and this code is for non-continuous incremental backups. Based on what I have found, handling this test case would require code changes beyond the scope of this PR that involve creating a test similar to the one in `TestBackupBase` or overriding `IncrementalTableBackupClient.execute()` in a test class to have it check the directory is empty and then delete. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
