Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug Report: Snapshot keyspace restores always restore from latest backup #13556

Closed
pbibra opened this issue Jul 19, 2023 · 1 comment · Fixed by #13557
Closed

Bug Report: Snapshot keyspace restores always restore from latest backup #13556

pbibra opened this issue Jul 19, 2023 · 1 comment · Fixed by #13557

Comments

@pbibra
Copy link
Contributor

pbibra commented Jul 19, 2023

Overview of the Issue

Context: https://vitess.slack.com/archives/C0PQY0PTK/p1683010265492109

When specifying a timestamp for a snapshot keyspace, we expect all tablets coming up in that keyspace to use the backup at or before the snapshot time. https://vitess.io/docs/17.0/reference/features/recovery/

There seems to be a regression where the restore code is always using the latest backup regardless of what the snapshot time is.

Reproduction Steps

  1. Pull the latest from repo.
  2. make build & cd examples/local
  3. ./101_initial_cluster
  4. From GetTablets pick a replica
  5. vtctldclient --server localhost:15999 Backup zone1-0000000101
vtctldclient --server localhost:15999 CreateKeyspace --type=SNAPSHOT --base-keyspace=commerce --snapshot-timestamp=2023-07-19T18:16:00Z pitrexample                                                            
Successfully created keyspace pitrexample. Result:
{
  "name": "pitrexample",
  "keyspace": {
    "served_froms": [],
    "keyspace_type": 1,
    "base_keyspace": "commerce",
    "snapshot_time": {
      "seconds": "1689790560",
      "nanoseconds": 0
    },
    "durability_policy": "none",
    "throttler_config": null,
    "sidecar_db_name": "_vt"
  }
}
  1. Create another backup for a later timestamp vtctldclient --server localhost:15999 Backup zone1-0000000101
ls vtdataroot/backups/commerce/0                                                                                                                                                                                             
2023-07-19.181518.zone1-0000000100 2023-07-19.181623.zone1-0000000100
  1. update vttablet-up.sh to have --init_db_name_override vt_commerce
  2. Run CELL=zone1 TABLET_UID=300 ../common/scripts/mysqlctl-up.sh
  3. Run CELL-zone1 KEYSPACE=pitrexample TABLET_UID=300 ../common/scripts/vttablet-up.sh
  4. Navigate to localhost:15300/debug/vars and check RestoredBackupTime
    image

Binary Version

latest on main - also in release 14

Operating System and Environment details

macOS

Log Fragments

No response

@pbibra pbibra added Needs Triage This issue needs to be correctly labelled and triaged Type: Bug labels Jul 19, 2023
@deepthi
Copy link
Member

deepthi commented Jul 19, 2023

Related: #8824 which has the change that broke this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants