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

PITR: Per-database restore for YSQL #7137

Closed
bmatican opened this issue Feb 5, 2021 · 1 comment
Closed

PITR: Per-database restore for YSQL #7137

bmatican opened this issue Feb 5, 2021 · 1 comment
Assignees
Labels
area/docdb YugabyteDB core features

Comments

@bmatican
Copy link
Contributor

bmatican commented Feb 5, 2021

Depending on how we solve #7123, it might affect how easy it is to rollback only a subset of master data. In particular, the complication for YSQL is that the data format on the master is two-fold

  1. old format of sys_catalog metadata -- this would cover database, table and tablet info, as well as TS placement
  2. new format of pg_catalog metadata -- this would cover YSQL specific system metadata

For YCQL, we only have 1), which might lend itself to some custom read logic we can use, strictly for this data format and the simple read mode allowed here -- mostly done on CatalogManager load tiem.

However, for 2), the access pattern here is random reads and writes, which might be much harder to mark portions of timestamps as unavailable.

@bmatican bmatican added the area/docdb YugabyteDB core features label Feb 5, 2021
spolitov added a commit that referenced this issue Apr 25, 2021
…tabase and YCQL keyspace

Summary:
This diff adds an ability to create the snapshot schedule for YSQL database and YCQL keyspace.

Restoring Postgres sys catalog is not yet implemented.
So schema changes would not be reverted.
Should be addressed in follow-up diffs.

Also performed some refactors
- moved function bodies from ts_itest-base.h to ts_itest-base.cc
- cleaned up FindNamespace and FindTable in CatalogManager

Test Plan: ybd --cxx-test yb-admin-test --gtest_filter *.SnapshotSchedulePgsql

Reviewers: bogdan

Reviewed By: bogdan

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D11301
spolitov added a commit that referenced this issue May 12, 2021
…ule for YSQL database and YCQL keyspace

Summary:
This diff adds an ability to create the snapshot schedule for YSQL database and YCQL keyspace.

Restoring Postgres sys catalog is not yet implemented.
So schema changes would not be reverted.
Should be addressed in follow-up diffs.

Also performed some refactors
- moved function bodies from ts_itest-base.h to ts_itest-base.cc
- cleaned up FindNamespace and FindTable in CatalogManager

Original commit: D11301 / 1f85b23

Test Plan:
ybd --cxx-test yb-admin-test --gtest_filter *.SnapshotSchedulePgsql
Jenkins: rebase: 2.6

Reviewers: bogdan

Reviewed By: bogdan

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D11575
@bmatican
Copy link
Contributor Author

The API work to restore per database is already done. However, we will still need to do the master side work of correctly restoring the subset of PG system tables to their correct state. This will be tracked in #8452

YintongMa pushed a commit to YintongMa/yugabyte-db that referenced this issue May 26, 2021
… YSQL database and YCQL keyspace

Summary:
This diff adds an ability to create the snapshot schedule for YSQL database and YCQL keyspace.

Restoring Postgres sys catalog is not yet implemented.
So schema changes would not be reverted.
Should be addressed in follow-up diffs.

Also performed some refactors
- moved function bodies from ts_itest-base.h to ts_itest-base.cc
- cleaned up FindNamespace and FindTable in CatalogManager

Test Plan: ybd --cxx-test yb-admin-test --gtest_filter *.SnapshotSchedulePgsql

Reviewers: bogdan

Reviewed By: bogdan

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D11301
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docdb YugabyteDB core features
Projects
None yet
Development

No branches or pull requests

5 participants