google-cloud-cpp
google-cloud-cpp copied to clipboard
RestoreDatabase: Row in table BackupMountMetadata already exists
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?
Maybe a service-side issue?
Maybe a service-side issue?
Indeed, and eventually got around to filing an internal issue.
Adding a type: * label because I think this will unconfuse some of the internal tooling.
We told the service team. It is not our problem.