googleapis / java-spanner Public
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
feat!: Point In Time Recovery (PITR) #452
Conversation
This looks generally good to me. There is one integration test case that needs a small change.
There are also a number of generated code changes in this PR. I assume that those will be added through a separate PR, and removed from this.
google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITPitrUpdateDatabaseTest.java
Outdated
Show resolved
Hide resolved
google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITPitrUpdateDatabaseTest.java
Outdated
Show resolved
Hide resolved
Codecov Report
@@ Coverage Diff @@
## master #452 +/- ##
============================================
- Coverage 85.24% 85.19% -0.05%
- Complexity 2612 2620 +8
============================================
Files 144 145 +1
Lines 14208 14260 +52
Branches 1372 1376 +4
============================================
+ Hits 12111 12149 +38
- Misses 1526 1537 +11
- Partials 571 574 +3
Continue to review full report at Codecov.
|
Warning: This pull request is touching the following templated files:
|
All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the |
Warning: This pull request is touching the following templated files:
|
All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the |
Warning: This pull request is touching the following templated files:
|
Some suggestions could not be made:
- google-cloud-spanner/src/main/java/com/google/cloud/spanner/DatabaseInfo.java
- lines 201-212
Exposes earliest version time and version retention period fields in the database class.
Adds integration tests for updating the version retention period.
Adds create database tests for PITR and refactors the integration test class.
Separates PITR database tests into 2 files for clarity.
The feature is not supported in the emulator currently.
Addresses PR comment.
To compare version retention period and earliest version time.
Fixes formatting of the DatabaseInfo
Adds test to check for the throttled field in the update database ddl metadata.
Adds more explanations to the purpose of the added params for pitr-lite: version_retention_period and earliest_version_time.
Adds PITR-lite version time to backups. This should make it possible to specify the consistent time for copying the database.
This is because the backend for these features is not ready yet.
Implements the PITR-lite support.
With this functionality users will be able to set the retention period for their databases (through the
version_retention_period
database field). Other than that, user should be able to specify the timestamp for a consistent copy of a database through theversion_time
field when creating a backup.