Skip to content

[DNM] protectedts: introduce a protected timestamp subsystem#41996

Closed
ajwerner wants to merge 6 commits intocockroachdb:masterfrom
ajwerner:ajwerner/protected-timestamp-prototype
Closed

[DNM] protectedts: introduce a protected timestamp subsystem#41996
ajwerner wants to merge 6 commits intocockroachdb:masterfrom
ajwerner:ajwerner/protected-timestamp-prototype

Conversation

@ajwerner
Copy link
Copy Markdown
Contributor

This WIP PR comes in 6 commits:

  1. Introduce the interfaces, settings, and serializations
  2. Implement the Storage interface on top of the KV store, defines the relevant keys and system tables
  3. Implement the Tracker interface to poll the state of the subsystem, for consumption by the GC queue
  4. Adopt the subsystem in the storage package. Additionally defines a new request for verifying protection (perhaps should be two commits)
  5. Implement logic to verify that a record has indeed protected a timestamp
  6. Add some end-to-end testing

Andrew Werner added 6 commits October 29, 2019 11:41
This commit introduces the interfaces for the protectedts subsystem.

Release note: None
This commit implements the storage layer of the protectedts subsystem on top
of kvs in the database. It uses a single, constant meta key to serialize all
updates. This will enable caching in the Tracker implementation.

This approach will lead to contention problems if many protected timestamps are
being created concurrently. Read locks will help.

Release note: None.
The Tracker periodically polls the protectedts state. This is made cheap through
the use of the meta key.

Release note: None
…e package

This commit does several things:

 1) Introduces AdminVerifyProtectedTimestamp api
 2) Adopts the protectedts.Tracker in the storage gc queue
 3) Constructs and plumbs a protectedts.Provider through the server

Release note: None
This commit adds logic to verify that a protectedts record has successfully
protected its intended target.

Release note: None
This commit adds a very simple end-to-end test of the protectedts subsystem.

Release note: None
@ajwerner
Copy link
Copy Markdown
Contributor Author

This is out ahead of the RFC in #43806 but I'll update that to reflect this work soon.

@cockroach-teamcity
Copy link
Copy Markdown
Member

This change is Reviewable

@ajwerner ajwerner closed this Jan 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants