google-cloud-cpp icon indicating copy to clipboard operation
google-cloud-cpp copied to clipboard

RestoreDatabase: Row in table BackupMountMetadata already exists

Open devbww opened this issue 2 years ago • 3 comments

https://console.cloud.google.com/cloud-build/builds;region=us-east1/d724a51a-7b64-4a5a-891f-c9351bdc0cc1?project=936212892354

We have a backup ...

Step #3: 2023-04-01T08:10:12.431769466Z [DEBUG] <139764424716416> GetBackup() << google.spanner.admin.database.v1.GetBackupRequest {
Step #3:   name: "projects/cloud-cpp-testing-resources/instances/test-instance-13/backups/db-2023-04-01-7kj1wf1x32mzvy9v"
Step #3: } (./google/cloud/internal/log_wrapper.h:80)
Step #3: 2023-04-01T08:10:12.524484960Z [DEBUG] <139764424716416> GetBackup() >> response=google.spanner.admin.database.v1.Backup {
Step #3:   database: "projects/cloud-cpp-testing-resources/instances/test-instance-13/databases/db-2023-04-01-7kj1wf1x32mzvy9v"
Step #3:   version_time {
Step #3:     "2023-04-01T07:49:00.196611Z"
Step #3:   }
Step #3:   expire_time {
Step #3:     "2023-04-01T19:48:23.665892Z"
Step #3:   }
Step #3:   name: "projects/cloud-cpp-testing-resources/instances/test-instance-13/backups/db-2023-04-01-7kj1wf1x32mzvy9v"
Step #3:   create_time {
Step #3:     "2023-04-01T07:49:00.196611Z"
Step #3:   }
Step #3:   state: READY
Step #3:   encryption_info {
Step #3:     encryption_type: CUSTOMER_MANAGED_ENCRYPTION
Step #3:     kms_key_version: "projects/cloud-cpp-testing-resources/locations/us-east1/keyRings/spanner-cmek/cryptoKeys/spanner-cmek-test-key/cryptoKeyVersions/1"
Step #3:   }
Step #3:   database_dialect: POSTGRESQL
Step #3:   max_expire_time {
Step #3:     "2024-04-01T07:49:00.196611Z"
Step #3:   }
Step #3: } (./google/cloud/internal/log_wrapper.h:86)

And try to restore it ...

Step #3: 2023-04-01T08:10:12.524879211Z [DEBUG] <139764424716416> AsyncRestoreDatabase(98) << google.spanner.admin.database.v1.RestoreDatabaseRequest {
Step #3:   parent: "projects/cloud-cpp-testing-resources/instances/test-instance-13"
Step #3:   database_id: "db-2023-04-01-13pbr9gax1hgc927"
Step #3:   backup: "projects/cloud-cpp-testing-resources/instances/test-instance-13/backups/db-2023-04-01-7kj1wf1x32mzvy9v"
Step #3:   encryption_config {
Step #3:     encryption_type: CUSTOMER_MANAGED_ENCRYPTION
Step #3:     kms_key_name: "projects/cloud-cpp-testing-resources/locations/us-east1/keyRings/spanner-cmek/cryptoKeys/spanner-cmek-test-key"
Step #3:   }     
Step #3: } (./google/cloud/internal/log_wrapper.h:179)

But receive some cryptic ALREADY_EXISTS error about an internal table ...

Step #3: 2023-04-01T08:11:36.272126363Z [DEBUG] <139762128123584> AsyncGetOperation(104) >> response=google.longrunning.Operation {
Step #3:   name: "projects/cloud-cpp-testing-resources/instances/test-instance-13/databases/db-2023-04-01-13pbr9gax1hgc927/operations/_auto_op_992d56a9bbca9fea"
Step #3:   metadata {
Step #3:     [type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata] {
Step #3:       name: "projects/cloud-cpp-testing-resources/instances/test-instance-13/databases/db-2023-04-01-13pbr9gax1hgc927"
Step #3:       source_type: BACKUP
Step #3:       backup_info {
Step #3:         backup: "projects/cloud-cpp-testing-resources/instances/test-instance-13/backups/db-2023-04-01-7kj1wf1x32mzvy9v"
Step #3:         version_time {
Step #3:           "2023-04-01T07:49:00.196611Z"
Step #3:         }
Step #3:         create_time {
Step #3:           "2023-04-01T07:49:00.196611Z"
Step #3:         }
Step #3:         source_database: "projects/cloud-cpp-testing-resources/instances/test-instance-13/databases/db-2023-04-01-7kj1wf1x32mzvy9v"       
Step #3:       }
Step #3:       progress {
Step #3:         start_time {
Step #3:           "2023-04-01T08:10:13.451607Z"
Step #3:         }
Step #3:         end_time {
Step #3:           "2023-04-01T08:11:23.144469Z"
Step #3:         }
Step #3:       }
Step #3:     }
Step #3:   }
Step #3:   done: true
Step #3:   error {
Step #3:     code: 6
Step #3:     message: "Row [spanner-cloud:ln-0xc667-0xdaf388a00001,1680335340196611,1680335340285391,<internal>] in table BackupMountMetadata already exists"
Step #3:     details {
Step #3:       [type.googleapis.com/google.rpc.DebugInfo] {
Step #3:         detail: "BackupMountMetadata(spanner-cloud:ln-0xc667-0xdaf388a00001,1680335340196611,1680335340285391,240742957056001)"
Step #3:       }
Step #3:     }
Step #3:   }
Step #3: } (./google/cloud/internal/log_wrapper.h:193)

What's up with that?

devbww avatar Apr 01 '23 16:04 devbww

Maybe a service-side issue?

coryan avatar Apr 01 '23 17:04 coryan

Maybe a service-side issue?

Indeed, and eventually got around to filing an internal issue.

devbww avatar Apr 04 '23 21:04 devbww

Adding a type: * label because I think this will unconfuse some of the internal tooling.

coryan avatar Nov 17 '23 16:11 coryan

We told the service team. It is not our problem.

dbolduc avatar May 08 '24 19:05 dbolduc