importccl: remove protected timestamp from IMPORT INTO #68043
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, IMPORT INTO would lay a protected timestamp
on the table span of the table being imported into.
This would prevent all keys in this span from being GC'ed
during IMPORT execution.
IMPORT INTO however does not allow ingesting keys that
shadow already existing keys. Additionally, during the
IMPORT the table is taken offline and so it does not serve
any online traffic. These two properties of IMPORT INTO
ensure that the old keys (not ingested during IMPORT) will
never become gc'eable during the IMPORT job. Thus, writing
a protected timestamp was redundant.
If the IMPORT job fails we issue a RevertRange to revert
all the newly ingested keys. This RevertRange could
attempt to revert to a time below the GC threshold but
following #61004 this is alright for the same reason
explained above.
Fixes: #67924
IMPORT INTO no longer relies on protected timestamps and
so it can be run within a tenant.