[ 
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)

Reply via email to