Closed adityamaru closed 2 years ago
cc @cockroachdb/bulk-io
Hi @adityamaru, please add branch-* labels to identify which branch(es) this release-blocker affects.
:owl: Hoot! I am a Blathers, a bot for CockroachDB. My owner is otan.
PTS is now wired up end to end to work in a multi-tenant cluster. We will track follow-up release blockers in their own issues.
I think it's safe to say this thing is done, so I'm going to close out this issue.
:information_source: Hello! I am a human and not at all a robot! Look at my very human username! :robot: :notes:
:thinking: Although I tried very hard to figure out what to do with this issue, more powerful human brains will need to help me. (specifically: Both Github and Jira issues were modified after exalate problems) :confounded:
:arrows_counterclockwise: Please visit this issue's mirror at CRDB-11712 and try to sync the two sides up manually. :star2:
:white_check_mark: When you're finished, comment saying as much asn a member of Developer Infrastructure will be along to finish linking. :link:
:no_entry_sign: Note that until this is done, this issue is not and will not be synced to Jira with Exalate. :no_entry_sign:
:sweat_smile: Feeling lost? Don't worry about it! A member of @cockroachdb/exalate-22-cleanup-team will be along shortly to help! :+1:
:construction_worker: Developer Infrastructure members: when ready, open Exalate from the right-hand menu of the mirror issue in Jira, then choose Connect and enter this issue's URN: cockroachdb/cockroach-73727
. Either way, delete this comment when you're done. :key:
:pray: Thank you for your compliance, my fellow humans! :robot: :wave:
sync done
Manually synced with Jira
This is a tracking issue for the work that will be required to support protected timestamps in a multi-tenant mode. This is a very high level breakdown of tasks, the understanding of which might evolve as we get to coding them.
RFC https://github.com/cockroachdb/cockroach/pull/74685
Client side:
ptpb.Record
to reflect that we will be protecting objects instead of spanstarget
field at all call sites were we construct aptpb.Record
. (Backup, CDC, tests)system.protected_timestamp_records
table schema to have an additionalBYTES
column to store thistarget
information. This includes adding a migration for clusters being upgraded.Protect
method (and other ptpb.Storage interface methods) to insert into the newtarget
column.SQLTranslator
,SQLWatcher
, andReconciler
to emit relevant span configurations.KV side
Targets
andRecords
, removeroachpb.SpanConfigEntry
in package spanconfig to as a prerequisite to modifying RPCsSystemSpanConfigs
KVAccessor
changes to write system span configurationsSystemSpanConfigStore
to keep an in-memory copy of allSystemSpanConfigs
+ hydrate configurations when serving themKVSubscriber
to react to system span configuration updates75285 Introduce the
ProtectedTSReader
interface, have theprotectedts.Cache
implement it, and makeAdminVerifyProtectedTimestamp
a no-op.77338 Make the
KVSubscriber
implement theProtectedTSReader
interface and create an adapter interface to work with both the old and new subsystems for v22.1.Stability followups (requirements):
Verify
calls, and verification logic while still supporting semantics in a mixed-version state.Stability followups (nice to have):
spanconfig.Store
andspanconfig.KVSubscriber
datadriven tests.Dropped approach for RPCS:
Epic: CRDB-10306
Jira issue: CRDB-11712