[
https://issues.apache.org/jira/browse/HBASE-30526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kevin Geiszler updated HBASE-30526:
-----------------------------------
Description:
HBASE-30517 was created to resolve an issue where
{{CustomBackupLocationPitrRestoreHandler.getBackupMetadata()}} was not
filtering out non-COMPLETE backups. After further investigation, the only
current solution involves using the {{BackupSystemTable}} to get each backup's
state and determine whether is is complete. However, this is not an ideal
approach as it creates a dependency on the {{BackupSystemTable}} for backups
with a custom backup location.
Imagine a scenario where Cluster A creates one or more backups that are sent to
an external storage location. Then, Cluster B want to perform a restore using
one of these backups. If Cluster B's {{BackupSystemTable}} looks different than
Cluster A's, then some tables may be left out of the {{{}PitrBackupMetadata{}}}.
Instead, we should make it so COMPLETE backups have a {{.backup.complete}}
marker file within backup diretory on the filesystem. Then,
{{CustomBackupLocationPitrRestoreHandler.getBackupMetadata()}} can use this
file to filter out non-COMPLETE backups.
was:
HBASE-30517 was created to resolve an issue where
CustomBackupLocationPitrRestoreHandler.getBackupMetadata() was not filtering
out non-COMPLETE backups. After further investigation, the only current
solution involves using the BackupSystemTable to get each backup's state and
determine whether is is complete. However, this is not an idea approach as it
creates a dependency on the BackupSystemTable for backups with a
CustomBackupLocation.
Imagine a scenario where Cluster A creates one or more backups that are sent to
an external storage location. Then, Cluster B want to perform a restore using
one of these backups. If Cluster B's BackupSystemTable looks different than
Cluster A's, then some tables may be left out of the PitrBackupMetadata.
Instead, we should make is to COMPLETE backups have a .backup.complete marker
file within the filesystem. Then,
CustomBackupLocationPitrRestoreHandler.getBackupMetadata() can use this file to
filter out non-COMPLETE backups.
> Create a .backup.complete file in the backup directory after a backup succeeds
> ------------------------------------------------------------------------------
>
> Key: HBASE-30526
> URL: https://issues.apache.org/jira/browse/HBASE-30526
> Project: HBase
> Issue Type: Improvement
> Components: backup&restore
> Affects Versions: 4.0.0-alpha-1
> Reporter: Kevin Geiszler
> Assignee: Kevin Geiszler
> Priority: Major
>
> HBASE-30517 was created to resolve an issue where
> {{CustomBackupLocationPitrRestoreHandler.getBackupMetadata()}} was not
> filtering out non-COMPLETE backups. After further investigation, the only
> current solution involves using the {{BackupSystemTable}} to get each
> backup's state and determine whether is is complete. However, this is not an
> ideal approach as it creates a dependency on the {{BackupSystemTable}} for
> backups with a custom backup location.
> Imagine a scenario where Cluster A creates one or more backups that are sent
> to an external storage location. Then, Cluster B want to perform a restore
> using one of these backups. If Cluster B's {{BackupSystemTable}} looks
> different than Cluster A's, then some tables may be left out of the
> {{{}PitrBackupMetadata{}}}.
> Instead, we should make it so COMPLETE backups have a {{.backup.complete}}
> marker file within backup diretory on the filesystem. Then,
> {{CustomBackupLocationPitrRestoreHandler.getBackupMetadata()}} can use this
> file to filter out non-COMPLETE backups.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)