rmdmattingly opened a new pull request, #6294:
URL: https://github.com/apache/hbase/pull/6294

   https://issues.apache.org/jira/browse/HBASE-28882
   
   My company runs a few hundred HBase clusters. We want to take backups 
everyday in one public cloud region, and then use said cloud's native 
replication solution to "backup our backups" in a secondary region. This is how 
we plan for region-wide disaster recovery.
   
   This system should work, but doesn't because of the way that BackupManifests 
are constructed.
   
   Backing up a bit (no pun intended): when we replicate backups verbatim, the 
manifest file continues to point to the original backup root. This shouldn't 
matter, because when taking a restore one passes a RestoreRequest to the 
RestoreTablesClient — and this RestoreRequest includes a BackupRootDir field. 
This works as you would expect initially, but eventually we build a 
BackupManifest that fails to interpolate this provided root directory and, 
instead, falls back to what it finds on disk in the backup (which would point 
back to the primary backup location, even if reading a replicated backup).
   
   To fix this, I'm proposing that we properly interpolate the request's root 
directory field when building BackupManifests.
   
   I've added a unit test for the new behavior, and I've used this updated 
client to successfully run a table restore of a replicated backup in our test 
environment.
   
   cc @ndimiduk @charlesconnell @aalhour @ksravista @DieterDP-ng 


-- 
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]

Reply via email to