-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
83676: kvserver: add Time Bound Iteration to DeleteRange r=erikgrinaker a=msbutler Previously, a kv client could only pass an AOST timestamp to a DelRange request. Now, the user can pass a lower bound timestamp, causing the kvserver to leverage time bound iteration while issuing delete requests. Specifically, the server uses an MVCCIncrementalIterator to iterate over the target span at the client provided time bounds, track a continuous run of keys in that time bound, and flush the run via point and MVCC range tombstones depending on the size of the run. In a future pr, this operation will replace the use of RevertRange during IMPORT INTO rollbacks to make them MVCC compatible. Informs #70428 Release note: none 84886: backupccl: do not backup or restore system.jobs r=dt a=dt Previously system.jobs was backed up by cluster backups and restored by cluster restore, albeit with all but schema change jobs moved into a reverting state. However job records almost always include specific tables' IDs or IDs of other objects in their persisted state which means a restored job is only valid, even just for cancellation, if all of the objects that it could reference still have the same IDs after they're restored. At one point, this was true in cluster restore, but is becoming increasingly difficult to maintain as the portions of the ID space that are reserved changes. The only real reason to restore jobs, given that most were cancelled anyway, was so that schema changes mentioned in the descriptors of restored tables would be completed or rolled back -- absent a job, the mutation would otherwise just remain incomplete indefinitely. However during database or table RESTORE, jobs are not restored but rather the required schema change job is synthesized from the information in the table descriptor. This approach can be used during cluster restore as well instead of restoring the jobs table, eliminating the majority of ID-mentioning fields in restored system tables, and, in particular, those that are burried deep in binary payloads rather than easy to find columns (ala zones). Release note (sql change): Cluster BACKUP and RESTORE no longer includes job records, which previously were usually only restored in a cancelling state with the exception of schema changes which were restored to their initial running state. Instead any schema change jobs required for restored tables are recreated after restoring the tables. Co-authored-by: Michael Butler <[email protected]> Co-authored-by: David Taylor <[email protected]>
- Loading branch information
Showing
10 changed files
with
1,021 additions
and
337 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.