Restore database from GCS hangs

Hello guys,

I’m trying to backup-restore a cluster into a new deployment, and I’m using GCS.

The RESTORE DATABASE… command works well in the source database, that is hosted in a Google Cloud VM.

However, the exact same command hangs (and fails) in the new database (same versions) that is hosted outside of Google Cloud.

The credentials remain the same though…

Any idea how to debug this please?

Thanks

UPDATE:
The error returned is:

ERROR 2297 ER_SUBPROC_SIZE: Attempting to get the size of the backup target failed. SignatureDoesNotMatch: Access denied. status code: 403, request id: , host id:

UPDATE:
settings are
subprocess_backup_retries = 3
subprocess_ec2_metadata_timeout_ms = 60000
subprocess_io_idle_timeout_ms = 600000
subprocess_max_retries = 10

After allowing a public access on the bucket, the error remains the same.

UPDATE:
I installed a fresh cluster in another VM in Google Cloud and the error persists. So the issue might not be about being inside or outside of GCP…

UPDATE: The BACKUP command works, but it takes 5mins to backup a 19mb DB…

The same BACKUP command takes 1.7sec on a cluster within GCP.

Hi Pierre,
Thanks for the update! I’m glad the backup command is working now, even if it’s a bit slow. To help us understand why it’s taking longer outside Google Cloud, could you tell me a bit more about the setup?

  • Where is the new database hosted now?
  • Is your backup still stored in a Google Cloud VM, and you’re restoring to the new database outside Google Cloud?
  • What version of the database are you using on both the source and target systems?
  • Can you share the exact backup command with the parameters you’re using? This will help us understand and debug the slowness.

Thank You,

Hi @mmanthena ,

Thanks for getting back to me.

  • The new DB is hosted on a bare metal in OVH Roubaix (France)

  • The backup is stored on a Google Cloud Storage

  • Source & target are now the same DB, v8.1.31

  • Cmd: BACKUP DATABASE db_name TO GCS ‘folder/path’ CONFIG ‘{}’ CREDENTIALS ‘{"access_id": "xxxxx","secret_key": "xxxxx"}’;

  • RESTORE DATABASE db_name as db_restored FROM GCS ‘folder/path’ CONFIG ‘{}’ CREDENTIALS ‘{"access_id": "xxxxx","secret_key": "xxxxx"}’;

Currently the restore of a 35GB database takes 15mins… it used to be around 2mins in the past.

Thanks